2012-03-02 77 views
1

我真的很苦惱IE8不能識別我的JQuery Click()函數。 Chrome和FF工作正常。我搜索了幾頁谷歌搜索的正確答案,但尚未找出解決方案。我遇到了幾個stackoverflow帖子,但沒有結果。通常情況比我所做的更復雜。Internet Explorer 8 JQuery Click()函數不能正常工作

<a id="modalwindow" class="thickbox" href="iframemodal.html?placeValuesBeforeTB_=savedValues&TB_iframe=true&height=300&width=425&modal=true"></a> 

<script language="javascript"> 
//<!-- 
$(document).ready(function(){ 
     $('#modalwindow').click(); 
}); 
//--> 
</script> 

很簡單是的?我試圖在使用thickbox插件的鏈接上強制「點擊」來彈出模式風格的窗口。我也試過使用

$('#modalwindow').trigger('click'); 

但是這也行不通。我沒有得到任何javascript錯誤,並且我可以在click()之前和之後執行警報,並且它們運行良好。我希望有人能幫幫忙。

回答

0

點擊事件調用不會強制實際點擊,但會調用您可能擁有的任何點擊處理程序代碼。如果你想擁有「點擊」的鏈接,然後做到這一點:

location.href = $('#modelwindow').attr('href'); 
+0

看起來他正在使用一些我不認識的服務器端技術。但是,這段代碼會因爲一個不同的原因而失敗。看到我的答案。 – 2012-03-02 03:25:25

+0

當你說click()函數實際上不會點擊鏈接時,你是正確的,但是如果他在代碼中的其他地方有一個單擊事件處理程序,那麼將調用該事件處理程序。 – 2012-03-02 03:29:35

+0

嗯,我假設他想要按照href鏈接。如果他正在觸發另一位經理人,那麼這是一個不同的故事。 – 2012-03-02 03:32:50

0

看到這個:jquery click doesn't work on hyperlink

JQuery的點擊()不實際上點擊的鏈接,它只是執行所有連接事件處理程序。

+0

這應該是無關緊要的,因爲他使用thickbox來顯示它。 (至少我假設thickbox就像fancybox和lightbox) – Paulpro 2012-03-02 03:31:56

+0

正確,thickbox與那些相似。這是一個jQuery插件來打開燈箱樣式窗口等。http://jquery.com/demo/thickbox/ – 2012-03-02 04:35:19

+0

我明白了。有趣的是,就在兩天前,我正在編寫我自己的版本,但我發現它可以通過使用''來打開覆蓋中的URL作爲iframe。 – 2012-03-02 16:44:52

0

嗨我也有這個問題。這導致我的按鈕交互延遲 與我們想要的真實結果。

我的情況是,我有兩個按鈕A和B

如果我點擊一個比乙方應點擊(或顯示它是點擊一些意思來代表它)

$("A").click(function(){ 
    $("B").trigger("click"); 
}) 

但是當我在Firefox上測試它,並且Chrome不會延遲。

當我在ie8上測試它(在ietester中嵌入) 我應該點擊A按鈕兩次,B按鈕會顯示點擊狀態。

我解決這個問題第一方面是 改變觸發點擊

$("A").click(function(){ 
    $("B").click(); 
}) 

但還是推遲了IE 8

,我做這個twise

$("A").click(function(){ 
    $("B").click(); 
    $("B").click(); 
}) 

則工作正常 。

我不知道你可以用我最後的方法解決。

當我測試它,它工作正常〜

相關問題