通过jquery事件处理程序传递参数

时间:2014-02-14 09:29:59

标签: javascript jquery

我有以下代码:

$(buttonID).on('click', onClickAddUpdate);

按下按钮ID时调用onClickAddUpdate。问题是,我可以将参数传递给onClickAddUpdate吗?即:

$(buttonID).on('click', onClickAddUpdate(i));

其中i是我想要访问的div的ID。

其余代码的结构如下:

 var onClickAddUpdate;

 onClickAddUpdate = function(){

 /*add  paragraph element to div tag */
 }

3 个答案:

答案 0 :(得分:2)

是的,你可以,

请参阅http://api.jquery.com/on/

部分将数据传递给处理程序

示例:

$(buttonID).on('click', {i: '1'}, onClickAddUpdate );

答案 1 :(得分:0)

当然,你可以这样(看看JQuery API):

var onClickAddUpdate = function(e) {
  console.log(e.data.i);
}

$(buttonID).on('click', {i: '1'}, onClickAddUpdate);

this example上进行测试。

另一种方式是:

var onClickAddUpdate = function(id) {
  console.log(id);
}

$(buttonID).on('click', function() {
    onClickAddUpdate(i);
});

this example上进行测试。

答案 2 :(得分:0)

当然,你可以这样做:

var onClickAddUpdate = function(e, id) {
     console.log(id);
}

$(buttonID).on('click', function(e) { onClickAddUpdate(e, $(this).attr('id')) });