我想在一个点击事件中添加一个iframe.我用这个例子得到了这个:
$(document).ready(function () {
$('#left').bind('click', function(event) { alert('test'); });
});
<iframe src="left.html" id="left">
</iframe>
Run Code Online (Sandbox Code Playgroud)
但遗憾的是没有任何反应.
当我用另一个元素(例如一个按钮)测试它时,它可以工作:
<input type="button" id="left" value="test">
Run Code Online (Sandbox Code Playgroud) 我想检测用户何时离开我的页面(例如打开一个新标签),这样我就可以停止倒计时了.我用它做了:
$(window).blur(function() {
//stop countdown
});
Run Code Online (Sandbox Code Playgroud)
但是我的页面中有一个Iframe,当用户点击它时,倒计时也会停止,但我不希望当有人点击Iframe时执行上述事件.
任何的想法?
更新,我正在尝试更多,基于iframe上的这个答案点击事件?:
iframeDoc = $('iframe').contents().get(0);
$(iframeDoc).click(function(){
//maybe remove blur event?
});
Run Code Online (Sandbox Code Playgroud)
更新:Tim B解决方案有效:
$(window).blur(function () {
// check focus
if ($('iframe').is(':focus')) {
// dont stop countdown
}
else {
// stop countdown
}
});
Run Code Online (Sandbox Code Playgroud)
现在,我必须在每次调用模糊事件时从Iframe中移除焦点,否则如果用户在关注Iframe后更改制表符,倒计时将不会停止.我尝试使用上述条件:
if ($('iframe').is(':focus')) {
// dont stop countdown
$("iframe").blur()
$(window).focus();
}
Run Code Online (Sandbox Code Playgroud)
但它没有用.任何的想法?
我正在尝试在播放视频时暂停主页上的滑块,这样它就不会继续滑动.检查它在这里.
我尝试div在它上面添加一个并捕获点击事件div,但这不起作用.它只是将事件传递给iframe我想.请注意,iframe正在加载来自Vimeo的内容,而不是来自我的网站.
有关如何使这项工作的任何想法,或任何其他方式在播放视频时暂停滑块?我似乎陷入了死胡同,没有任何选择......
这是我的 iframe:
#htmlDiv {
position: absolute;
top: 0px;
left: 300px;
height: 650px;
width: 1130px;
}
#htmlFrame {
position: absolute;
top: 0px;
left: 0px;
margin: 10px 10px 10px 10px;
padding: 0px 0px 0px 0px;
height: 630px;
width: 1110px;
}
<div id="htmlDiv">
<iframe id="htmlFrame"></iframe>
</div>
$('#htmlFrame').click(function(){
alert('clicked');
});
Run Code Online (Sandbox Code Playgroud)
但是当我在 iframe 内单击时,它不会显示“已单击”。
如何检测 iframe 内的点击。