如何在addEventListener中添加try catch?有什么办法吗?
我需要在addEventListener中使用try catch,或者在内部函数中不使用attachEvent
MPI_Comm_accept()
答案 0 :(得分:4)
document.addEventListener("DOMContentLoaded", function (event) {
try {
x();
} catch (e) {
alert(e.message);
}
});
document.attachEvent("onreadystatechange", function () {
if (document.readyState === "complete") {
try {
x();
} catch (e) {
alert(e.message);
}
}
});
如果由于浏览器功能不同而面临事件注册问题,请使用以下代码
if (document.addEventListener){
document.addEventListener(...);
} else if (document.attachEvent){
document.attachEvent(...);
}
更通用的方式
function addEvent(evnt, elem, func) {
if (elem.addEventListener) // W3C DOM
elem.addEventListener(evnt,func,false);
else if (elem.attachEvent) { // IE DOM
elem.attachEvent("on"+evnt, func);
}
else { // No much to do
elem[evnt] = func;
}
}
答案 1 :(得分:3)
您可以像
一样添加它document.addEventListener("DOMContentLoaded", function (event) {
try{
X();
}
catch(e){
//How you want to handle it
}
});
答案 2 :(得分:1)
这应该有效
try
{
document.addEventListener("DOMContentLoaded", function (event) {
X();
});
}
catch(e)
{
alert('Couldnt create event listener.');
}
此页面的另一个例子是: