我敢打赌,这很简单,但迄今为止我没有运气。我想用跨浏览器跨版本的方式添加事件处理程序。这是我的代码跨浏览器事件处理程序,jQuery不工作
if ($.browser.msie) {
if ($(p)[0].addEventListener) {
$(p)[0].addEventListener("mousedown", function() { OnMouseDown(); }, true);
$(p)[0].addEventListener("mouseup", function() { OnMouseUp(); }, true);
$(p)[0].addEventListener("mouseout", function() { OnMouseOut(); }, true);
} else if ($(p)[0].attachEvent) {
//ie 11 in compatibility mode hits here but not assign events (checked in developer tools(f12))
$(p)[0].attachEvent("onmousedown", function() { OnMouseDown(); });
$(p)[0].attachEvent("onmouseup", function() { OnMouseUp(); });
$(p)[0].attachEvent("onmouseout", function() { OnMouseOut(); });
}
} else {
//this works fine in newer ie and in "normal" mode
$(p).mousedown(OnMouseDown);
$(p).mouseup(OnMouseUp);
$(p).mouseout(OnMouseOut);
}
有没有人有任何想法? jQuery不能在兼容模式下工作。
你尝试使用哪个版本的jquery? –
版本1.4.2。这是旧的项目 – Iceman
我想知道为什么你要绑定像这样的事件_while_你正在使用jQuery。或者你为什么使用jQuery,如果你喜欢绑定这样的事件处理程序。此外,$ .browser已从jQuery中删除。 – Ejaz