IE JavaScript 无法触发事件

  • 本文关键字:事件 JavaScript IE jquery
  • 更新时间 :
  • 英文 :


我在遵循脚本时遇到问题,

$('#colours li a').click(function(e) {
    $('option').attr("selected", false);
    var selected = $(this).parent("li");
    var colour = selected.attr("class");
    colour = colour.replace("rounded ", "");
  alert(colour);
    $('option[value=' + colour + ']').attr('selected',true);

    if($("#" + colour).hasClass("active")) { return; }
    var active = $(".active");
    var next = $("#" + colour);
    $('#colours li').removeClass("active");
    selected.addClass("active");
    $('option[value=' + colour + ']').attr('selected',true);
    e.preventDefault();
});
基本上,它

的作用是在单击时,它应该在隐藏的选择中选择一个值,但是在IE8中,这不会发生,为什么会这样?

有一种

更简单的方法可以通过更改父select的值来更改所选option

$('select').val(colour)将替换两个attr()调用。更改select的值会自动处理selected更改

attr()也不是selected的首选方法,应该使用prop()。这可能是您遇到的问题的根源

最新更新