如何在短时间延迟后触发点击
How to trigger click after a short delay
本文关键字:时间延迟 更新时间:2023-09-26
我正在构建一个骨干应用程序,我的视图是这样的
define(function (require) {
'use strict';
var MyBackbone = require('mybackbone'),
template = require('utils/template'),
Handlebars = require('handlebars'),
Contest = require('controllers/ads/contest');
var Main = MyBackbone.View.extend({
initialize : function( options ) {
MyBackbone.View.prototype.initialize.apply(this, [options]);
this.template = Handlebars.compile( template.get( "presentation/page/main" ) );
this.loadChildViews( "footer", new Contest() );
},
render: function(){
var renderedContent = this.template();
this.$el.html( renderedContent );
return this;
},
events: {
"click .show-message": "hideAndShowMessage"
},
hideAndShowMessage: function(e){
var self = this;
e.preventDefault();
this.$el.find('.is-hidding:visible').addClass('hideFade');
this.$el.find('.bg-lets-go').removeClass('hideFade');
var targetLink = $(e.currentTarget);
targetLink.removeClass('show-message');
setTimeout(function(){
$('a.no-style:not(".show-message")', self.$el).trigger("click");
//$('a.no-style:not(".show-message")').click();
//targetLink.trigger('click');
}, 750);
}
});
return Main;
});
和我的主玉
div.main-container
.container-fluid.is-hidding
.row
.col-xs-6
a.no-style.btn-ipurpose.show-message(href="/#ipurpose")
i.fa.fa-tree.fa-3x
| JE PROPOSE
.col-xs-6
a.no-style.btn-ichoose.show-message(href="/#ichoose")
i.fa.fa-flag-checkered.fa-3x
| JE CHOISIS
.bg.bg-lets-go.is-hidding.hideFade
.bg.bg-simple
目标是在点击链接后750毫秒内显示"let's go message"。
我已经尝试了一些东西进入setTimeout,但没有一个工作。没有javascript错误,这样做是正确的吗?
在我看来你的逻辑是错误的。
您再次将单击事件发送到之前单击的同一锚。侦听器仍将绑定到此元素,从而再次调用hideAndShowMessage。在该方法中,您再次调用e.p preventdefault()。你开始超时之后,点击被发送,我们重新开始;基本上就是一个无限循环。
您的问题的一个快速解决方案是使preventDefault调用有条件:
var targetLink = $(e.currentTarget);
if(targetLink.hasClass(".show-message")) {
e.preventDefault();
//....rest of your logic
}
这应该能成功!
相关文章:
- Javascript中的时间延迟
- Javascript:用于 vs jQuery.each() 与时间延迟
- 如何执行递归函数以重置/维护滚动事件的时间延迟
- 对文件的时间/延迟进行基准测试
- 当每一行都打印成功调用时,需要时间延迟
- 在Javascript中使用时间延迟
- 显示具有时间延迟的动态标签
- 我如何更改<p>使用javascript在定义的时间延迟后动态标记数据
- 如何在考虑页面刷新的固定时间延迟后调用javascript函数
- 是否有可能创建一个节流函数,它可以将另一个函数(也有参数)和时间延迟作为参数
- 而在JS的多线程中,时间延迟出现在流畅的消息调度中
- Mysql命令中的时间延迟
- 我如何添加时间延迟到我的潜水,使他们出现一个接一个像幻灯片一样
- JavaScript图像旋转器时间延迟
- SAPUI5聚合绑定有时间延迟或呈现延迟吗?
- 我如何添加时间延迟到咖啡脚本搜索
- Javascript/JQuery:需要一个时间延迟
- js(折线图)工具提示持续时间/延迟
- jQuery AJAX请求之间的时间延迟
- 为什么我的CSS加载有时间延迟