Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过返回false删除EventListener_Javascript_Jquery_Html - Fatal编程技术网

Javascript 通过返回false删除EventListener

Javascript 通过返回false删除EventListener,javascript,jquery,html,Javascript,Jquery,Html,My u函数接受HTML元素ID并返回document.getElementByIdstr。下面我有许多EventListener,它们可以侦听按钮单击或键盘事件。但是,由于此JS文件在多个页面之间共享,因此某些页面不存在某些HTML元素,因此addEventListener函数在每次尝试将事件侦听器绑定到不存在的HTML元素时都会抛出错误并终止执行。如何防止这种情况发生,并让代码继续执行?换句话说,我如何捕捉这些错误 尝试添加此功能: window.onerror = function(){

My u函数接受HTML元素ID并返回document.getElementByIdstr。下面我有许多EventListener,它们可以侦听按钮单击或键盘事件。但是,由于此JS文件在多个页面之间共享,因此某些页面不存在某些HTML元素,因此addEventListener函数在每次尝试将事件侦听器绑定到不存在的HTML元素时都会抛出错误并终止执行。如何防止这种情况发生,并让代码继续执行?换句话说,我如何捕捉这些错误


尝试添加此功能:

window.onerror = function(){
    return true;
}
如果不起作用,请在每个.addEventListener周围环绕以下内容:


函数本质上是document.getElementById的包装器,除非在找不到元素时返回false而不是null。想想为什么你甚至需要u函数。@Halcyon我使用u函数是因为它缩短了代码。而不是每次都必须键入document.getElementById。最后一种手段:可能是Url检查吗?如果你的意思是知道哪些元素出现在哪个页面上是个好主意。是的,这是个好主意。或者只使用jQuery,它会像没人管的事情一样吞下错误。@DavidYue您已经在使用jQuery了,为什么不同时使用它的内置选择器和.on方法呢?它将比在.addEventListener中使用新的选择器函数更能缩短代码
window.onerror = function(){
    return true;
}
try {
    // .addEventListener here
} catch (e) { // Ignore Errors }