将鼠标悬停在位于我的页面上的 iframe 上的绑定事件,其中包含包含的 src
Binding event with mouseover on an iframe that sits on my page with a src that contains
我有一些第三方iframe位于我的页面上,我想捕获用户何时mousesover
它们,只有当这些iframe的src在src文本中的任何位置包含Twitter或facebook时。由于我无法捕获点击(我可以使用他们的自定义方法,因此我想将代码完全分开)。我想捕获用户何时将鼠标鼠标进入iframe(位于我的页面上,不是由他们带入的)。iframe 的"SRC"在我的网站之外,但实际调用在我的页面中。有什么想法吗?
翼:
var _self = this;
$("iframe src").filter('/facebook|twitter/')
.mouseover(function(event){
event.stopPropagation();
_self.somemethodcall();
});
或类似的东西:
var _self = this;
$('iframe').filter(function() {
return $(this).attr('src').match(/facebook|twitter/);
}).bind("mouseover", function(event) {
event.stopPropagation();
_self.somemethodcall();
});
它看起来像这样:
var a = /facebook|twitter/;
$('iframe').live('mouseover',
function () {
if(a.test($(this).attr('src'))){
alert('Found it!');
}
}
);
首先,我们将正则表达式放入名为 a
的变量中。然后,在悬停 iframe 时,我们测试正则表达式的iframe
src
,如果 src
的值包含 facebook
或 twitter
,则返回 true。
一个工作示例:http://jsfiddle.net/2PZ2c/(第三个是 google.com 来源的那个)
可读性:
http://api.jquery.com/hover/
http://www.w3schools.com/jsref/jsref_regexp_test.asp
旁注:
该解决方案也适用于其他处理程序,如mouseenter
、mouseleave
等。
编辑:
我已经编辑了我的代码以改用 .live() 函数。此函数会将事件处理程序附加到两个当前元素作为未来元素。
示例:http://jsfiddle.net/2PZ2c/1/
来源:http://api.jquery.com/live/
相关文章:
- node-webkit-从父窗口捕获iframe鼠标事件
- 触摸启动事件未在iframe iOS 6中启动
- 从iframe事件中收听
- Window.onblur-禁用iframe事件
- 如何将事件侦听器添加到跨域iframe中的元素中
- 在iframe中加载pdf时,iframe未触发加载事件
- 使用 javascript 收听 youtube iframe 事件
- 取消 iframe 中具有 target=“_parent” 属性的链接事件
- iFrame.load事件未等待预加载图像完成
- 使用wordpress中的点击事件打开/更改Iframe
- 使用JQuery检测iframe事件
- 如何处理iframe中两次或根本不触发的IE11 localStorage事件
- 加载iframe时激发的事件
- Youtube嵌入Iframe-本地未触发事件
- 将事件发送到其他域上的iFrame
- 如何将隐藏/显示事件延迟到提交后Iframe加载
- IE11 iFrame点击事件弹出以影响窗口
- 无法在鳄梨酱iframe中获取键盘事件
- 获取angular的onload事件.iframe元素
- 如何检测一个iframe上的onscroll事件?iframe's源与页面的域相同