JavaScript绑定事件在特定时间
JavaScript Bind Event at Certain Time
我试图实现以下功能,我有一些麻烦。我想要的是,当用户单击某个图像,一个弹出式div将出现包含有关该图像的一些信息。然后,如果用户要单击该弹出式div之外的页面上的任何地方,它将简单地隐藏然后删除弹出式。
我要做的是注册一个eventListener后弹出的div被添加到页面。尝试与jquery和没有和我之后的相同问题。(我在下面包括了两个,但一次只有一个在代码中是活动的。)
createProfilePopUpEventListener: function(){
$('body').on('click', function(){
$('.profile_pop_up').fadeOut('fast').remove();
});
},
createProfilePopUpEventListener: function(){
var el = document.getElementsByTagName('body')[0];
el.addEventListener("click", $('.profile_pop_up').fadeOut('fast').remove();
},
showPopUp: function(e){
//creates popUp and adds it to the DOM
this.createProfilePopUpEventListener();
}
似乎正在发生的事情是,事件被触发立即在初始单击显示弹出窗口,因此它永远不会显示。如何创建一个只在特定时间开始侦听这些点击的eventListener ?
我想你的问题是事件传播。您的图像用作打开弹出窗口的触发器,将您的事件从整个DOM向上扩展,最终扩展到主体。因此,淡出/移除事件与打开事件同时触发。
您需要以这样的方式(使用:
)停止该内容的传播。$('#popup_trigger').on('click', function(event){
event.stopPropagation();
$('.profile_pop_up').fadeIn();
});
相关文章:
- 移动定时触摸事件
- 一个定时器事件会在多大程度上减慢我在JavaScript中的代码
- 定时Javascript事件
- 管理不应冲突的定时事件
- 基于事件的IPC(使用事件的portlet间通信)
- 何时在 Cocos2d-js 3.2 中注销事件监听器和定时回调
- 补间.js添加事件侦听器后不调用调用函数
- 如何在短时间内记录按键/键盘事件
- 添加补间.js后不会触发按钮单击事件
- 如何使用定时事件使用JavaScript显示然后隐藏消息
- Javascript定时事件/图像
- 在Highcharts上绘制随时间变化的偶发事件(动态精度?)
- 如何在d3事件绑定时访问原始事件对象
- 在javascript中结合for循环和定时事件
- 动态绑定时音频事件不触发
- 当它应该是一个定时事件时,音频播放加载
- Meteorjs基于定时器的事件触发器
- JavaScript OOP -当传递给方法的参数与事件绑定时
- 在jQuery中创建定时事件
- 错误的定时问题,Telerik RadEditor控件's客户端事件和jquery's on page