为什么是代表和;不适用于jquery selectmenu

时间:2011-12-22 16:27:22

标签: jquery jquery-ui

如果我从jQuery 1.6转到1.7这样的行:

$('#form').delegate( 'select', 'selectmenuopen', function() {});

不会触发我的回调。有任何想法吗?如果我直接绑定到选择它仍然有效。

我知道有一个最新的selectmenu的git repo与用于UI 1.9的dev中的那个不同,但我不记得它在哪里可悲。

我应该提到我确实尝试过“没有运气”。

注意 selectmenu插件扩展$.ui.widget并在内部调用._trigger( "open" ),这将添加插件的前缀,从而使"selectmenuopen"找到正确的事件。绑定工作完美地证明了这是正确的事件。

3 个答案:

答案 0 :(得分:0)

如果您使用的是jQuery 1.7,则应使用on而不是delegate

$('#form').on('selectmenuopen', 'select', function() {
   // your code
});

More information on on()

答案 1 :(得分:0)

您编写代码的方式是绑定到名为“selectmenuopen”的自定义事件

最好的办法是确保你做的事情是

jQuery(document).trigger('selectmenuopen');

jQuery('#form').trigger('selectmenuopen');

或事件永远不会发生。

答案 2 :(得分:0)

当我找到答案时忘了回答这个问题...我必须通过一个版本升级jQuery UI才能正常使用jQuery 1.7。我仍然很奇怪,除了这个之外,其他每个插件都工作得很完美,所以我没有注意到。