我似乎无法找到任何理由为什么这在IE8中不起作用,因为它在其他浏览器中完美无缺地工作。
我有两个用员工姓名填充的选择框。
<select id="schedule-add-employees-list" size="7">
<option class="schedule-add-employees-option1" value="jsmith">John Smith</option>
<option class="schedule-add-employees-option1" value="jbloggs">Joe Bloggs</option>
<option class="schedule-add-employees-option1" value="jdoe">Jane Doe</option>
</select>
<select id="schedule-add-employees" size="7">
<option class="schedule-add-employees-option2" value="msmith">Mary Smith</option>
</select>
我想要发生的事情,以及它在Firefox,Chrome和Safari中的作用,当您点击第一个列表中的某个选项时,它会被删除,然后添加到第二个列表中,反之亦然。我有jQuery代码:
$('.schedule-add-employees-option1').click(function() {
$(this).appendTo('#schedule-add-employees');
$(this).removeClass('schedule-add-employees-option1');
$(this).addClass('schedule-add-employees-option2');
})
$('.schedule-add-employees-option2').click(function() {
$(this).appendTo('#schedule-add-employees-list');
$(this).removeClass('schedule-add-employees-option2');
$(this).addClass('schedule-add-employees-option1');
})
是否有任何特殊原因导致IE8在其他浏览器中无法正常运行?
我有正确的doctype声明,所以没有quircks模式的可能性。已经完成了很多其他记录良好的IE7 / 8修复程序,似乎没有一个适用于这个特定的实例。它似乎没有抛出任何错误,只是没有回应。单击任一选择框中的选项时,根本不执行任何操作。
任何帮助都会非常感激!
答案 0 :(得分:0)
正如Adeneo在对该问题的评论中所报告的那样,问题是在IE7和IE8中,click事件没有按预期响应,并且在链接信息判断的新浏览器中它可能不可靠。
以下是我应用的解决方法:
$('#schedule-add-employees').change(function() {
var obj = $('#schedule-add-employees option:selected');
obj.appendTo('#schedule-add-employees-list');
});
$('#schedule-add-employees-list').change(function() {
var obj = $('#schedule-add-employees-list option:selected');
obj.appendTo('#schedule-add-employees');
});