jQuery - 从ajax加载的内容中的按钮问题

时间:2011-04-08 14:43:48

标签: jquery ajax load

我正在使用jQuery UI中的按钮,如下所示:

("button").button();

简单..

但是当我在ajax加载的文件中使用标签时,按钮脚本不会应用于该按钮。

Ex:file.php:

<button>Testbutton</button>

将此文件加载到带有(“按钮”)的页面上。按钮();像这样:

$("#updateDiv").load(file.php);

..该按钮未应用于jQuery UI脚本。

我已经看过jQuery“live”函数了,但它似乎对我不起作用:(

4 个答案:

答案 0 :(得分:2)

.live()不起作用,因为它只处理UI事件(clickdblclickmousedown等)。您需要向.load()提供回调:

$("#updateDiv").load('file.php', function (){
    $(this).find('button').button();
});

答案 1 :(得分:1)

你必须在回调函数中初始化你的按钮:

$("#updateDiv").load('file.php', function() { $('button').button(); });

您可以选择使用ajaxSuccess:

$('#updateDiv').ajaxSuccess(function() {
  $('button', this).button();
});

每次在div上成功调用加载时,这将启动div中的所有按钮。有关详细信息,请参阅http://api.jquery.com/ajaxSuccess/

答案 2 :(得分:0)

尝试在AJAX请求的回调中调用.button函数,以便在放置在DOM中的新内容上运行。

$("#updateDiv").load('file.php', function() {  
    $("button").button();
});

答案 3 :(得分:0)

请注意,被调用的Ajax页面必须导入JQuery UI CSS文件