2012-05-31 41 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必須保持在鏈接之外,隱藏,禁用,不可見或任何其他內容,所以我實際上可以單擊該鏈接。 –