如果我从jQuery 1.6转到1.7这样的行:
$('#form').delegate( 'select', 'selectmenuopen', function() {});
不会触发我的回调。有任何想法吗?如果我直接绑定到选择它仍然有效。
我知道有一个最新的selectmenu的git repo与用于UI 1.9的dev中的那个不同,但我不记得它在哪里可悲。
我应该提到我确实尝试过“没有运气”。
注意
selectmenu插件扩展$.ui.widget
并在内部调用._trigger( "open" )
,这将添加插件的前缀,从而使"selectmenuopen"
找到正确的事件。绑定工作完美地证明了这是正确的事件。
答案 0 :(得分:0)
如果您使用的是jQuery 1.7,则应使用on
而不是delegate
:
$('#form').on('selectmenuopen', 'select', function() {
// your code
});
答案 1 :(得分:0)
您编写代码的方式是绑定到名为“selectmenuopen”的自定义事件
最好的办法是确保你做的事情是
jQuery(document).trigger('selectmenuopen');
或
jQuery('#form').trigger('selectmenuopen');
或事件永远不会发生。
答案 2 :(得分:0)
当我找到答案时忘了回答这个问题...我必须通过一个版本升级jQuery UI才能正常使用jQuery 1.7。我仍然很奇怪,除了这个之外,其他每个插件都工作得很完美,所以我没有注意到。