如何在点击时发送参数?
// initiate the button
$('#btn').click(function(e){
console.log(e.data);
});
// later on I need to simulate a click with parameter
$('#btn').click({
param : 'simulated click'
});
答案 0 :(得分:1)
为什么我们不能尝试使用这样的.data()
?
$('#btn').click(function(e){
console.log($(this).data("param"));
});
$('#btn').data("param",{param : 'simulated click'}).click();
答案 1 :(得分:1)
您可以使用trigger()
方法将额外的参数传递给函数处理程序:
// initiate the button
$('#btn').click(function(e, data){
console.log(data);
});
// later on I need to simulate a click with parameter
$('#btn').trigger('click',{
param : 'simulated click'
});
但如果您的目标只是检查是否以编程方式触发了某个事件,则可以检查:
// initiate the button
$('#btn').click(function(e){
if(e.isTrigger) {
console.log('simulated click');
}
});
答案 2 :(得分:0)
您可以使用$.trigger()
执行此操作,如下所示:
$('#btn').click(function(e) {
console.log(e.param);
});
$('#btn').trigger({
type: "click",
param: "simulated click"
});
// => 'simulated click'
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="btn">Click me</button>