jon*_*c12 0 jquery binding select delegates google-chrome
我正在尝试将简单的单击事件绑定到下拉列表的选定选项.
$('select#myselect').delegate(':selected', 'click', function()
{
alert('selected');
});
Run Code Online (Sandbox Code Playgroud)
此代码适用于Firefox,但不适用于Chrome/Safari.我可以使用.delegate()为这样的下拉菜单绑定一个选项吗?如果是这样,怎么样?如果没有,最好的替代解决方案是什么?
顺便说一句,jQuery单击Event ..使用.change()提供了一个潜在的解决方案,但是如果可能的话,我想用.delegate()管理所有绑定.
该click
事件不火<option>
在这些浏览器的元素,但你的选择是否正在发生变化与否,它没有什么不同有:
$('#myselect').change(function() {
alert('selected, my new value is: ' + $(this).val());
});
Run Code Online (Sandbox Code Playgroud)
归结到这一点,这里没有必要.delegate()
. .delegate()
用于监听从元素本身不会去任何地方(例如通过AJAX替换)的可能更改或非常多的后代元素冒出的事件. .live()
以非常类似的方式工作,它只是一直在倾听document
.
除了这个之外,我不知道更好的解释方法:你当前的用法根本不是什么.delegate()
,它旨在解决不同的问题.你应该.change()
在这里使用.
归档时间: |
|
查看次数: |
4707 次 |
最近记录: |