2012-05-31 38 views
0

我有一个绑定到mousemove的iframe。如何隐藏iframe(即鼠标后)何时通过链接?

这意味着这个iframe随着鼠标光标随处移动。

但我需要隐藏/禁用/使其不可见时,它通过一个链接。

我需要在传递链接时隐藏/禁用iframe,否则链接变得不可点击(因为iframe已经过了)。

它必须是一般的联系,所以我不能用一个id,它必须与一般的链接标签


答案:http://jsfiddle.net/ZPA5g/

我会隐藏链接,输入的形式,图像或任何我需要的元素。

阅读两个答案的评论,以检查其差异。两者都有效。

+1

你能告诉我们你的总体目标是什么吗?有时候最好重新考虑整个解决方案。 – idrumgood

+0

@idrumgood,这是实际情况http://jsfiddle.net/YQ5zS/,因为你可以看到一个问题发生。表单在输入文本框,复选框等表单元素时仍然会显示。所以我无法使用表单。尝试在输入文本框内写入内容...如果将“'输入'”替换为“a”,它将在输入元素中起作用。我想知道是否有这样一种方法来实例化相同的代码,像'$('a','input')。“,但这不起作用。 –

+0

好吧,我只是找出使用多个选择器的正确方法。 = D'$('a,input')。live ...'现在一切都完美了。你可以在http://jsfiddle.net/ZPA5g/ –

回答

1

这可以通过使用.on()函数解决吗?

http://api.jquery.com/on/

确定。

$('a').live("hover", function() { 
    $('#tail').hide(); 
}); 

或。

$('a').live("mouseenter", function() { 
    $('#tail').hide(); 
}); 
$('a').live("mouseout", function() { 
    $('#tail').show(); 
}); 
+0

(或.live()如果你是JQuery 1.7之前的版本) – Timbadu

+0

也许,我不知道,即时通讯新的jQuery的东西。有人可以试试吗? –

+0

这个答案正是我一直在寻找的。清洁和简单的jQuery解决方案;它会在页面的任何地方显示iframe,甚至在div中。除了链接。正是我在找什么。如果您只想在清晰的页面区域显示iframe,以展示广告为例,请使用@Pethical解决方案。谢谢。 –

1

您的代码:

$(document).bind('mousemove', function(e){ 
$('#tail').css({ 
    left: e.pageX - 20, 
    top: e.pageY - 18 
}); 
}); 

试试这个:

通过游标
$(document).bind('mousemove', function(e){ 
$('#tail').css({ 
    left: e.pageX - 20, 
    top: e.pageY - 20 
}); 
}); 

+ 2px的空间就足够了。

+0

确认,但这并不能回答我的问题。我需要在传递链接时隐藏/禁用iframe,否则链接将变得无法点击(因为iframe已经结束)。 –

+0

不,您不需要隐藏iframe。 – Pethical

+0

看到,我需要光标后面的iframe,并且光标必须位于iframe内。当光标在链接上移动时,iframe必须保持在链接之外,隐藏,禁用,不可见或任何其他内容,所以我实际上可以单击该链接。 –