Javascript:单击事件之前将触发什么事件?

Javascript:单击事件之前将触发什么事件?,javascript,jquery,Javascript,Jquery,我的js文件中已经有大约20到25个Java脚本方法可用。现在,我想执行一些验证方法,这些方法需要在某个方法的单击事件之前触发。 如何在不修改现有25种方法的情况下实现这一点 <div id="div1" onclick="onDiv1Click('Exc')">Test</div> <div id="div2" onclick="onDiv2Click(pram1,param2)">Test 2 div</div> <div id="div

我的js文件中已经有大约20到25个Java脚本方法可用。现在,我想执行一些验证方法,这些方法需要在某个方法的单击事件之前触发。 如何在不修改现有25种方法的情况下实现这一点

<div id="div1" onclick="onDiv1Click('Exc')">Test</div>
<div id="div2" onclick="onDiv2Click(pram1,param2)">Test 2 div</div>
<div id="div3" onclick="onDiv3Click()">Test 3 div</div>
<div id="div4" onclick="onDiv4Click(param1)">Test 4 div</div>

function onDiv1Click(obj){
// perform some operation
}
function onDiv2Click(obj,obj){
// perform some operation
}

function onDiv3Click(){
// perform some operation
}
function onDiv4Click(obj){
// perform some operation
}



function newValidationmethod(){
 //my validation logic goes here
}
测试
测试2分区
测试3分区
测试4分区
函数OnDiv1单击(obj){
//做些手术
}
函数onDiv2Click(obj,obj){
//做些手术
}
函数onDiv3Click(){
//做些手术
}
函数OnDiv4单击(obj){
//做些手术
}
函数newValidationmethod(){
//我的验证逻辑是这样的
}

现在,我想在onDiv1click()事件之前调用newValidationmethod()。如果验证方法返回true,那么我需要执行onDiv1click方法。

将事件侦听器添加到文档中,并确保它在捕获阶段运行:

document.addEventListener("click", function(event){
    //Whatever
},true); 
示例修改自。注意
jquery
总是冒泡,因此您必须对最后一个参数
true
使用普通的
addEventListener

要停止事件在函数中传播(验证失败),可以使用:

event.stopPropagation();

我想这些想法可能会有所帮助,检查代码区分大小写是否正确,因为我没有检查:

   <a id="myid" onclick="if(notvalid()) return false; YourOldMethod();" />

    OR

    $(function(){
         $("#myid").onclick(function(){

             if(notvalid()) return false; 

             YourOldMethod();

         });

    });

或
$(函数(){
$(“#myid”).onclick(function(){
if(notvalid())返回false;
YourOldMethod();
});
});

您可以使用
keyup
keydown
事件进行验证。到目前为止,您做了什么?mouseenter()、mousedown()是您希望在click()触发之前在元素上发生的事件。让我详细解释一些验证方法之前需要触发吗?关于你需要触发什么,文本框或控件或其他。这25个方法是为什么而写的?要处理点击事件、验证或计算,还是简单地写。你总是需要一些事件或至少是计时器来执行js操作。然后我需要在我的25个div中添加“if(notvalid())return false;”这一行是否正确?在不编辑25个元素的情况下,如何实现这一点?例如:它类似于伪代码,而不是真正的工作代码:$($).each(function(){if($(this).attr(“onclick”)!=“”)(this.attr(“onclick”))$(this.attr(“onclick”),“if(notvalid())返回false;”+$(this.attr(“onclick”);});让我试试这个。谢谢