Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $(此)在定义的单击事件中不起作用_Javascript_Jquery_This - Fatal编程技术网

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);
});
我认为使用胖箭头
=>
函数表示法没有任何特殊需要