正如你可能已经从标题中注意到的那样,我正在努力使事件正常工作,而IE正在给我带来困难。我尝试了所有可能的组合,但似乎都没有。
我正在尝试模仿Google建议列表。访问者应该能够使用箭头键进入列表,这是一个Jquery keydown事件。然而,此事件还在IE8中同时呈现建议列表的请求,因此箭头键功能结束(因为正在作为女仆的请求。)
我知道必须有一个简单的解决方案,但我看不到它。感谢帮助。这是一个演示:at jsbin
它适用于所有浏览器,但不适用于IE。
答案 0 :(得分:1)
您在元素存在之前附加事件。
始终只在$(document).ready()
方法中使用元素,以确保它们存在并加载到文档中。
在您的具体情况下,只需移动所有代码:
el("inp").oninput=function(){
addScript("http://www.google.nl/complete/search?callback=suggest&q="+this.value);
}
$('#inp').keydown(
function (e){
var curr = $('#test').find('.current');
//......
}
//.....
进入你已经拥有的$(document).ready(
。
在IE中也适合我的实时测试用例:http://jsfiddle.net/n7qAD/12/
(您的原始代码在IE中确实无效)