Javascript 区别对待;关于;单击jquery中的事件

Javascript 区别对待;关于;单击jquery中的事件,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个页面,其中有一个事件如下: $(document).on("click","#div",function(e){ //do the operation }); 此事件在页面加载和div单击时都会执行。 我需要在事件内部区分这两个调用,因为我必须只在div单击时而不是在加载时写入额外的条件 我如何知道它是从页面加载还是从div单击 编辑 装载时: $(默认值)。查找('a')。触发('click');使其在加载时触发 $(文档)。在(“单击”上,“div”,函数(e){ 如果(e.o

我有一个页面,其中有一个事件如下:

$(document).on("click","#div",function(e){

//do the operation

});
此事件在页面加载和div单击时都会执行。 我需要在事件内部区分这两个调用,因为我必须只在div单击时而不是在加载时写入额外的条件

我如何知道它是从页面加载还是从div单击

编辑

装载时:

$(默认值)。查找('a')。触发('click');使其在加载时触发
$(文档)。在(“单击”上,“div”,函数(e){
如果(e.originalEvent!==未定义){//使用originalEvent
警惕(“人”);
}否则{
警报('加载单击')
}
});
$('#div')。单击()


单击
您可以在以下各项中设置布尔变量:

var fromPageLoad = false;
var fromDivClick = false;

$(window).load(function() {
    fromPageLoad = true;
    //do the operation
});

$(document).on("click","#div",function(e){
    fromDivClick = true;
    //do the operation
});
然后用if或switch语句检查哪个条件为真

[编辑]
除非您想让警报像其他答案一样突然弹出,否则建议设置变量,这就是方法。

如果您需要在页面加载上执行任何操作,您必须指定如下内容

$(document).load(function(){
  alert("event on page load");
});
如果div单击事件,则如下所示

$(#div).onclick(function(){
警报(“在div点击时”);
})

//您可以检查事件对象中是否存在OriginaleEvent元素。
$(文档).ready(函数(){
$(文档)。在(“单击”上,“div”,函数(e){
如果(如原始事件){
警报(“手动单击”);
}否则{
警报(“页面加载”);
}
});
$('#div')。单击();
});

div

为什么会在页面加载时触发它?它不应该在页面加载时触发,在其中放入一个警报并进行验证。我还想知道,这是一个已经创建的维护应用程序,经过研究,它说“当使用$(document).on()时,它会附加到父元素”你会把支票放在哪里?这对我来说似乎没有多大意义…我没有问这个问题,所以我不能真正分享任何代码:P我看到你编辑了你的答案,现在它至少有点意义了。。。