如何检索触发我的函数的元素的id?

时间:2014-01-01 18:30:28

标签: javascript jquery

我有类似下面的功能;

function myfunction(param1,param2,param3){
  alert(param1);
  alert(param2);
  alert(param3);
  alert(buttonid);//i want to alert mybutton here
}

$('#mybutton').click(function() {
  myfunction("hi","hello","howdy");
});

使用按钮点击事件唤起该功能。我想在调用的函数中提示按钮的id。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

当前函数中的 this 指的是 window 对象。您希望使用事件对象(其目标属性将引用触发操作的元素)。

function myfunction(param1,param2,param3){
  alert(param1);
  alert(param2);
  alert(param3);
  alert(event.target.id);
}

另外,我建议在监听器而不是单击监听器上使用jQuery 。这将使监听器AJAX兼容。

$(document).on("click", "#mybutton", function(){
   myfunction("hi", "hello", "hey"); 
}); 

答案 1 :(得分:0)

试试这个

function myfunction(param1,param2,param3,buttonid){
  alert(param1);
  alert(param2);
  alert(param3);
  alert(buttonid);//i want to alert mybutton here
}
$(document).ready(function(){
    $('#mybutton').click(function() {
      myfunction("hi","hello","howdy",$(this).attr('id'));
    });
})