Javascript $(此)在定义的单击事件中不起作用
Javascript $(此)在定义的单击事件中不起作用,javascript,jquery,this,Javascript,Jquery,This,$(这个)根本不起作用。我一直在尝试不同的方法。 像 对于我尝试过的每个属性,我所得到的都是未定义的。箭头函数保留外部上下文-此引用了定义箭头函数的上下文。将arrow函数替换为函数声明,让jQuery为函数绑定适当的上下文 $("tabs-item").click(() => { var x = $(this).attr("tab-data"); console.log(x); }); 或者使用箭头功能,您可以在参数中获取事件参数,并访问其当前目标属性 $("tabs-item
$(这个)
根本不起作用。我一直在尝试不同的方法。
像
对于我尝试过的每个属性,我所得到的都是未定义的。箭头函数保留外部上下文-
此
引用了定义箭头函数的上下文。将arrow函数替换为函数声明,让jQuery
为函数绑定适当的上下文
$("tabs-item").click(() => {
var x = $(this).attr("tab-data");
console.log(x);
});
或者使用箭头功能,您可以在参数中获取事件
参数,并访问其当前目标
属性
$("tabs-item").click(function(){
var x = $(this).attr("tab-data");
console.log(x);
});
函数声明方法更可取,因为没有为事件处理程序提供箭头函数。只需使用函数声明,它的上下文将绑定到相应的上下文。箭头函数保留外部上下文-
此
指定义箭头函数的上下文。将arrow函数替换为函数声明,让jQuery
为函数绑定适当的上下文
$("tabs-item").click(() => {
var x = $(this).attr("tab-data");
console.log(x);
});
或者使用箭头功能,您可以在参数中获取事件
参数,并访问其当前目标
属性
$("tabs-item").click(function(){
var x = $(this).attr("tab-data");
console.log(x);
});
函数声明方法更可取,因为没有为事件处理程序提供箭头函数。只要使用函数声明,它的上下文就会绑定到相应的上下文。为什么不这样做呢
$("tabs-item").click((event) => {
var x = $(event.currentTarget).attr("tab-data");
console.log(x);
});
我认为使用胖箭头
=>
函数表示法没有任何特殊需要。为什么不这样做呢
$("tabs-item").click((event) => {
var x = $(event.currentTarget).attr("tab-data");
console.log(x);
});
我认为使用胖箭头=>
函数表示法没有任何特殊需要