Internet explorer 8 jQuery 1.4.2在doropdown列表的更改事件上使用.delegate()
我的问题是,我不确定如何在以下场景中使用.delegate: 我们的应用程序有一个投票系统,可以添加几轮或几步。每次添加新步骤时,都会有一个选项列表,定义如何赢得回合/步骤Internet explorer 8 jQuery 1.4.2在doropdown列表的更改事件上使用.delegate(),internet-explorer-8,internet-explorer-7,jquery,jquery-1.4,Internet Explorer 8,Internet Explorer 7,Jquery,Jquery 1.4,我的问题是,我不确定如何在以下场景中使用.delegate: 我们的应用程序有一个投票系统,可以添加几轮或几步。每次添加新步骤时,都会有一个选项列表,定义如何赢得回合/步骤 <select class="listOfOptions"> <option value="U">Unanimous</option> <option value="M">Majority</option> <option value="C" class="
<select class="listOfOptions">
<option value="U">Unanimous</option>
<option value="M">Majority</option>
<option value="C" class="customOption"># of votes…</option>
</select>
此代码在除IE之外的所有其他浏览器上都能完美运行
在这种情况下,如何使用上的.delegate()替换.live?
谢谢。对于这种特殊情况,这将是与.delegate()一起使用的语法。请注意,“ListoOptions”是下拉列表的类
$('body').delegate('.listOfOptions', 'change', function() {
if ($(this).find(':selected').attr('class') == 'customOption') {
// DO SOMETHING!!
}
else {
// DO SOMETHING ELSE
}
});
它在所有浏览器中都很有魅力。不要忘记在
$(function(){})中编写委托代码>块或在$(文档).ready(函数(){})中代码>
否则在IE7-9中就不起作用了
$('body').delegate('.listOfOptions', 'change', function() {
if ($(this).find(':selected').attr('class') == 'customOption') {
// DO SOMETHING!!
}
else {
// DO SOMETHING ELSE
}
});