Javascript行动命令

时间:2012-10-18 18:07:30

标签: javascript jquery

说我有:

<div id="name" class="button"></div>

在javacript文件中,我为类按钮和id名称定义了单击操作,如:

$("#name").click(function(event){
  alert("hi");
})

$(".button").click(function(event){
  alert("bye");
})

当我点击该div时,我会在“再见”警告之前收到“hi”警告,因为“hi”出现在“bye”上方吗?或者其他事情确定先发生了什么?如果2个函数在不同的文件中怎么办?那么首先包含哪个javascript文件(显得更接近html文件的顶部)是否重要?我假设jQuery与此无关,对吧?

2 个答案:

答案 0 :(得分:3)

你是完全正确的,它是诚实地基于哪个首先受到约束。在您的情况下,首先绑定"#name",然后绑定".button",这就是为什么它们最终以相同的顺序执行。它不是基于首先在页面上看到的,而是首先绑定的。绑定可能发生在一个函数中,所以它不会发生,直到函数被调用(显然),但函数可能在其他绑定之前声明 - 并不意味着任何东西,它必须被调用。在不同的文件中也是如此。在解析文件时,它们会被执行。所以我之前所说的也适用于此 - 只要绑定按照解析事物的顺序执行(从HTML页面的顶部到底部),它们将按此顺序发生。我很确定发生这种情况的原因是因为jQuery将这些绑定存储在FIFO的堆栈中 - 先进先出。

答案 1 :(得分:0)

您首先看到'hi'警报,因为该事件首先被绑定。

因此,当事件根据它们绑定的顺序触发时..