动态添加Jquery ui按钮

我有一个javascript函数,删除现有的按钮,并添加新的按钮。

这是代码:

function FunctionName(){ ("button").remove(); // This works fine. //but however, with the following add code, I don;t get a jquery ui button. var element = document.createElement("input"); element.setAttribute("type","button"); // other code divName = get 
by ID; divName.appendChiled(element); }

有没有办法动态添加一个jquery ui按钮:

喜欢:

divName.add("button");

那没起效…

使用jQuery添加jQuery UI按钮:

 $('#selector') // Replace this selector with one suitable for you .append('') // Create the element .button() // Ask jQuery UI to buttonize it .click(function(){ alert('I was clicked!');}); // Add a click handler 

很确定你可以通过调用button()使用jQuery-UI button()输入任何输入

 var element = document.createElement("input").button(); 

我刚刚使用以下代码动态创建了一个按钮。 关键部分是.button()部分,它似乎对我有用。

 var self = this; var exitButton = $(document.createElement("a")); exitButton.attr({ 'href': '#', 'id': 'exitSlideshowButton', }); exitButton.click(function(event){ event.preventDefault(); self.exitSlideshow(); }); exitButton.text("Exit Slideshow Mode") exitButton.button(); exitButton.appendTo("body"); 

这段代码对我有用

$('#selector').append('');

$('#selector').click(function(){ alert('I was clicked!');});

我认为@Stony很接近,除了.button().button()方法被添加到原始的选择器元素,而不是实际的按钮。 你应该为按钮创建一个id,然后选择那个按钮并调用button().click()

这可能会导致某种exception,因为在该post下注释了对button()的调用。

默认情况下, Ninja UI以这种方式工作,而不会破坏被覆盖的HTML。

您可以在DOM准备就绪之前将按钮创建为变量。

 var $button = $.ninja.button({ html: 'Post Your Answer' }).select(function () { // Your action here. }); 

当DOM准备就绪时,在任何你想要按钮的地方附加。

 $('body').append($button); 

我从@Stony申请,它对我有用。

 function addMyButton(btID){ var temp = ""; $( "#selector" ).html(temp); $( "#" + btID ) .button() .click(function(){ alert( "I was clicked!"); }); }