如何使用Jquery在javascript onClick事件中传递参数?

时间:2017-07-13 07:38:25

标签: javascript jquery

我想问一下,如何使用Jquery在javascript onClick事件中传递参数?

我一直坚持这个问题。点击按钮后,我无法传递参数,但如果我不给参数,它的工作。我该怎么办 ?对不起,如果我的英语不好。

var ConfirmShowEventRef = firebase.database().ref().child("ConfirmEvent");``
ConfirmShowEventRef.on('child_added', snapshot => {
var bankName = snapshot.child("InMapRekening").val();
var rekNumber = snapshot.child("RekeningNumber").val();
var confirmAt = snapshot.child("confirmAT").val();
var eventTitle = snapshot.child("eventTitle").val();
var id = snapshot.key;

$("#table_transaction").append("<tr><td>"+ id +"</td><td>" + eventTitle + "</td><td><span class='label label-success'>" + bankName + "</span></td><td><div class='sparkbar' data-color='#00a65a' data-height='20'> " + rekNumber + " </div></td><td>" + confirmAt + "</td><td><button type='button' class='btn btn-sm btn-info btn-flat' name='button' id='"+ id +"' onClick='confirm("+ id +")'>Confirm</button></td></tr>");});function confirm(id){alert(id);}

2 个答案:

答案 0 :(得分:1)

来自jQuery .on()文档的

http://api.jquery.com/on/ 你知道.on()方法接受那些参数:

.on( events [, selector ] [, data ], handler )

我不会谈论选择器参数,因为它与此无关。

  • 第一个,如果是标识您的活动的简单字符串。
  • 处理在事件发生时调用的函数,其中事件对象作为参数(对应于您的snapshot变量)。
  • 第二个,这是你的答案,因为你在这里传递的任何类型的任何数据都可以从传递给你的事件对象的data prop中访问(snapshot)< / LI>

$DOMnode.on('event', { foo: 'bar' }, event => console.log(event.data));

此处event.data将等于{foo: 'bar'};

答案 1 :(得分:0)

还有另一种方法可以做到这一点。调用onclick事件时无需传递参数,触发click事件时要使用的值可以作为属性添加到目标元素中,稍后再读。

<div id="click-sample" some-data="You got data inside Click"> Click Here </div>

$("#click-sample").click(function(e){

    alert($(e.target).attr('some-data'));

});

https://jsfiddle.net/ath78cfy/