Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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/80.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 jQuery检测单击了哪个id_Javascript_Jquery - Fatal编程技术网

Javascript jQuery检测单击了哪个id

Javascript jQuery检测单击了哪个id,javascript,jquery,Javascript,Jquery,我需要启动的文件准备功能,也对按钮点击。如果单击了按钮,则需要检测单击了哪个id 要启动函数,我做了 process_add_to_chart();// this is for document ready $( '[id^="button_add_to_cart_"]' ).click(function(){ process_add_to_chart(); }); 然后 函数启动,但如何获取id的属性 var id = $(this).attr('id'); 不起作用。未定义 啊,对不起,

我需要启动的文件准备功能,也对按钮点击。如果单击了按钮,则需要检测单击了哪个id

要启动函数,我做了

process_add_to_chart();// this is for document ready
$( '[id^="button_add_to_cart_"]' ).click(function(){
process_add_to_chart();
});
然后

函数启动,但如何获取id的属性

var id = $(this).attr('id');
不起作用。未定义

啊,对不起,似乎必须在里面定义全局id

$( '[id^="button_add_to_cart_"]' ).click(function(){   });

由于在实际处理程序(
function(){…})
中调用
process\u add\u到\u char
,您将丢失原来的
this
“上下文”(单击的元素),
this
现在是
窗口
对象

因此,您需要像这样绑定处理程序:

$( '[id^="button_add_to_cart_"]' ).click(process_add_to_chart);
$( '[id^="button_add_to_cart_"]' ).click(function(){
     process_add_to_chart.call(this);
});
然后,
将是单击的元素


另一种方法是使用该方法将
this
参数传递给内部函数,如下所示:

$( '[id^="button_add_to_cart_"]' ).click(process_add_to_chart);
$( '[id^="button_add_to_cart_"]' ).click(function(){
     process_add_to_chart.call(this);
});

进一步阅读:

将单击的元素对象引用传递给函数

演示: