jQuery,将 .buttonset 应用于尚未加载的元素



我有以下代码运行良好:

    $field2.on("change", "#selector", function(){
        $field2.load("./index.php?show-options=true", { value: $(this).val() }, function() {
        $("#options").buttonset();
        });
    });     

它加载#optionsdiv并将按钮应用于其中的锚标记。

是否可以声明

$("#options").buttonset();

#optionsdiv被加载之前?

我看了jQuery文档没有成功,也找到了这个答案:

为ajax加载的元素应用jQuery UI小部件

我认为它可能是正确的,但我还没有完全理解它,也没有设法实现。

感谢您的帮助。

做以下事情:

$field2.on("change", "#selector", function(){
    $field2.load("./index.php?show-options=true", { value: $(this).val() }, function() {
      $field2.find("#options").buttonset();
    });
});

将$field2中的所有选项元素变成一个按钮集(一旦内容更新)。

或者你也可以将按钮设置为dom ready:

$(function() { $("#options").buttonset(); });

jQuery选择器作用于DOM中的元素(除非给定上下文),如果元素不在DOM中,那么不幸的是,jQuery将无法直接影响它。如果对buttonset的加载调用导致FOUC(未样式内容的闪烁),您可以尝试以下操作:

$field2.on("change", "#selector", function() {
    $field2.empty();
    $.get("./index.php?show-options=true", { value: $(this).val() }, function(data) {
      var newContent = $(data);
      $("#options", newContent).buttonset();
      $field2.empty().append(newContent);
    });
});

相关内容

  • 没有找到相关文章

最新更新