我正在使用该功能:
$('.box').on('click', '.goTo1', function(e) {
$('.yar').trigger('click');
});
这很好用,但我怎么能注册多次点击?
$('.yar').trigger('click');
$('.yar').trigger('click');
$('.yar').trigger('click');
我已尝试过上述内容,但它似乎无法奏效。任何想法,可能像
$('.yar').trigger(('click')2);
答案 0 :(得分:2)
如果我正确理解你的问题,那就没有,$('.yar').trigger(('click')2)
。你可以使用一个循环,例如,
for(var i = 0; i < 3; i++) {
$(".yar").trigger("click");
}
但我会强调卡尔 - 安德烈的问题:这里的目标是什么?这听起来像是解决代码中其他问题的一种解决方法。
答案 1 :(得分:1)
我非常怀疑这对你想要达到的目标是一个好方法,但你可以做到:
$('.box').on('click', '.goTo1', function(e) {
for(var i = 0; i < 3; i++) $('.yar').trigger('click');
});
变量i
是计数器,它定义调用函数的频率。如果您要激活10
次函数,只需将i < 3
替换为i < 10
。
答案 2 :(得分:1)
你的例子有效。我想这取决于.yar的点击功能执行的内容。 并且多次触发点击事件是一个错误的决定,这样做可以让您的代码中的内容非常糟糕。
$('.box').on('click', '.goTo1', function(e) {
$('.yar').trigger('click');
$('.yar').trigger('click');
$('.yar').trigger('click');
});
$('.yar').on('click', function(){
$(this).append('<p>event</p>');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="box">
<div class="goTo1">GO TO</div>
</div>
<div class="yar"></div>
答案 3 :(得分:0)
setTimeout
适用于我的情况。无需创建和修改多个函数或使用增量。
$('.box').on('click', '.goTo1', function(e) {
$('.yar').trigger('click');
setTimeout(function() {$('.yar').trigger('click')},
100);
});
希望这有助于其他人