Javascript jQuery检测单击了哪个id
我需要启动的文件准备功能,也对按钮点击。如果单击了按钮,则需要检测单击了哪个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'); 不起作用。未定义 啊,对不起,
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);
});
进一步阅读: 将单击的元素对象引用传递给函数 演示: