JavaScript中索引和数据的区别?
要知道正在发生什么事情有点困难JavaScript中索引和数据的区别?,javascript,jquery,if-statement,events,indexing,Javascript,Jquery,If Statement,Events,Indexing,要知道正在发生什么事情有点困难event.data.x方法 你能告诉我这个代码下面的event.data.x到底指的是什么吗 除了这个函数(事件)部分之外,我基本上理解了代码的工作原理,比如函数结构、参数和方法 是否是具有名为事件的参数的函数数 如果你能用简单的词来解释,那就太好了 另外:Jquery的索引和数据有什么区别吗 $(文档).ready(函数(){ $(“p”)。每个(功能(i){ $(此)。在(“单击”{ x:我 },功能(事件){ 警报(“该“+$(this.index()+”
event.data.x
方法
你能告诉我这个代码下面的event.data.x到底指的是什么吗
除了这个函数(事件)
部分之外,我基本上理解了代码的工作原理,比如函数结构、参数和方法
是否是具有名为事件的参数的函数数
如果你能用简单的词来解释,那就太好了
另外:Jquery的索引和数据有什么区别吗
$(文档).ready(函数(){
$(“p”)。每个(功能(i){
$(此)。在(“单击”{
x:我
},功能(事件){
警报(“该“+$(this.index()+”。段落有数据:“+event.data.x”);
});
});
});代码>
这是一段
这是另一段
这是另一段
$(this).index()
返回您在其容器元素中单击的元素的索引
event.data.x
包含与事件侦听器附加到的元素相对应的.each()
循环中的i
值
在本例中,它们是相同的,因为
元素是容器的唯一子元素。但是如果你稍微修改一下这个例子,你就会看到不同之处
$(文档).ready(函数(){
$(“p”)。每个(功能(i){
$(此)。在(“单击”{
x:我
},功能(事件){
警报(“该“+$(this.index()+”。段落有数据:“+event.data.x”);
});
});
});代码>
这是一段
这是一个div
这是另一段
这是另一段
这是一段更深的话
事件。数据
是此行的第二个参数:
$(this).on(“单击”{x:i},函数(事件){
这就是您声明eventHandler的方式,简单地说,就是告诉人们当有人单击任何..
元素时该做什么,因此最后一个参数是单击发生时将运行的函数
当浏览器检测到单击时,它将运行此功能,其中包含有关刚刚发生的事件的一些数据,一个对象,在您调用事件的示例中,您可以在此处查看此对象还包含哪些内容:
更多信息
您不必将其称为事件,您可以将其称为任何名称,例如:
$(this).on("click", {
x: i
}, function(potato) {
console.log(potato.data) // {x:#}
});
如果不需要使用数据,可以省略第二个参数
$(this).on("click", function(event) {
console.log(event.data) // undefined
});
关于index与data.x,不同之处在于each函数给您一个从0开始的索引参数,元素的index()函数可能会给您一个
$("p").each(function(i) {
$(this).on("click", {
x: i
}, function(event) {
console.log(event.data.x) // 0...1...2...3 depending on where you clicked
console.log($(this).index()) // 1...2...3...4 depending on where you clicked
});
});
event.data.x
是从each()中为单击事件提供的值
loop,因此它是所选p
元素集合中元素的索引。在Jquery上的索引和数据之间是否有任何差异
是。事件.data.x
将是所选p
集合中的索引。$(this).index()
将是当前元素在其父元素中的索引。根据您的HTML示例,数字将是相同的。将任何元素放在DOM中的第一位,它们将不会是相同的。@Rorymcrossan感谢您的详细回答。:>感谢您提供的详细信息:))哇,太多的详细信息不太可能出现在我的本地论坛上。谢谢大家!!