如何判断调用的函数是否源自javascript中的click事件

sta*_*ack 3 javascript jquery

如何判断被调用的函数是否来自click事件?

例如,单击锚点或按钮,捕获事件并调用函数.

在firebug的堆栈跟踪中的这个函数内部,我可以看到这样的Object

Object { originalEvent=Event click, type="click", timeStamp=97128874, more...}
Run Code Online (Sandbox Code Playgroud)

它说原始事件来自一次点击.

根据它是来自还是点击,处理方式不同.

有没有办法判断被调用的函数是否来自click事件?

Rus*_*oms 5

任何由事件触发的函数都会发送一个事件对象.调用.type此对象,它将返回它是哪个事件.以下是jQuery文档中的一个简单示例:

$( "a" ).click(function( event ) {
  alert( event.type ); // "click"
});
Run Code Online (Sandbox Code Playgroud)

因此,假设您想要同时收听点击并输入文本输入:

$( "input" ).on("click keyup", eventHandler);
Run Code Online (Sandbox Code Playgroud)

但是你想在点击上做一些特别的事情:

eventHandler = function(event){
  if (event.type === 'click'){
    // code to execute if there is a click
  } else {
    // code to execute if there is a non-click event
  }
  // code to execute for both click and non-click events
};
Run Code Online (Sandbox Code Playgroud)