2010-08-12 70 views
1

我有一個div(很好的gif dislayed,如果它是一個按鈕),在該div是一塊javascript處理ENTER,如果它是一個點擊($(this).click( ))。點擊做它自己的事情。輸入火表格提交

在FireFox中,這一切都很完美:用戶按下按鈕上的輸入並點擊。 在IE中,表單提交不是點擊()

幫助!!

+0

如何確保在點擊輸入按鈕時專注於div? – 2010-08-12 10:03:40

+0

你應該在這裏發佈相關代碼:) – 2010-08-12 11:33:54

回答

0

在IE中,輸入元素(按鈕類型)上的回車鍵的默認行爲是表單提交(大部分時間)。

您可以嘗試捕獲keydown事件並檢查確認鍵;如果是則運行event.preventDefault()

看看: https://developer.mozilla.org/en/DOM/event.preventDefault

如果您發佈一些代碼,我可以通過修改代碼幫助你。發佈您的HTML和相關的JavaScript。

3

這是一個方便的花花公子jQuery函數,我用它來解決這個問題。

$(formSelector).find('input, select').keypress(function (event) { 

    if (event.keyCode == 13) { 
     event.preventDefault(); 
     $(buttonSelector).click().focus(); 

     return false; 
    } 
}); 

formselector只是抱着「#FormId」的變量,並且按鈕選擇器是拿着我想點擊該按鈕的變量。所以你的情況就是:'#IdOfYourDivToClick'。

+0

我可以問你爲什麼在'focus()'之前運行'click()'? – Jon 2011-06-30 11:06:45

+0

沒有真正的原因,焦點()是一個後想到的B/C我想突出顯示的按鈕。 – Patricia 2011-06-30 12:53:41