我无法在下面的javascript中使用jquery选择器在Safari(5.0.4)中工作:
$("#js-nav-bar option").click(function() {
document.location.href = $(this).val() ;
}) ;
只使用"#js-nav-bar"
作为选择器可以在Safari中使用,但我需要在HTML中定位<option>
元素。
选择器$("option")
在Safari中也不起作用,但我知道jquery脚本正在运行。我的代码在FF(3.6.16)和Opera(9.27)中工作,我已经针对W3验证器和我对JSlint的javascript验证了我的HTML。
有没有办法可以更好地编写我的jquery选择器,还是可以构建一个复合javascript选择器来解决Safari错误?
答案 0 :(得分:4)
这可能与你想要的绑定有关。而不是将点击事件绑定到<option>
本身,而是绑定到<select>
的{{1}}事件。
change
看看它是否有效。
答案 1 :(得分:2)
在您的代码中,您有#js-nav-bar
作为div:
试试这个:
$('#js-nav-bar select').change(function(e){ //<-- on change of the select
document.location.href = $(this).val() ;
});
另外我在你的代码中注意到你所有selects
都有相同的类(lim-width
),所以请使用它!
$('.lim-width').change(function(){
document.location.href = $(this).val();
})
答案 2 :(得分:0)
您应该使用更改事件而不是点击事件
$('.target').change(function() {
alert('Handler for .change() called.');
});