首先:您的HTML存在問題。您正在使用A
的簡短語法 - 這意味着文本實際上並不是A
內容的一部分。許多瀏覽器不喜歡A
標籤的簡短語法 - 不是你的錯,但我們的工作是比瀏覽器更寬容。
這裏的修正版本:
<a tabindex="7" style="cursor: pointer;" class="button" id="saveTocAddNew" onClick="saveTdsAddNew();"><span>Save & Add Another</span></a>
根據不同的瀏覽器和DOCTYPE,它是顯著的事件名稱是否是全小寫與否。只是要尋找的東西。
最後,默認情況下,您的onclick事件只會觸發點擊和回車 - 而不是空格鍵。許多瀏覽器將空格視爲下拉菜單。如果您確定要捕獲這個A
上的空格鍵事件並將它們視爲Enter,那麼您需要定義一個查找空格鍵的按鍵事件。像這樣:
function addNewKeys(event) {
if(!event) var event = window.event; // cross-browser shenanigans
if(event.keyCode === 32) { // this is the spacebar
saveTdsAddNew(event);
}
return true; // treat all other keys normally;
}
(記住這個新功能綁定到A
的onkeypress事件。)
請注意,我傳遞event
到saveTdsAddNew
功能。這是因爲我認爲事件處理程序通常會收到event
對象作爲它們的參數,所以這保留了現有的模式。從event
中,您可以檢索被點擊/鍵入的元素等。
來源
2011-07-26 23:29:32
Tom
我並沒有注意到A標籤已經關閉了一次,而之後又有一個關閉。當第一次關閉時,它工作得很好... – reddyvaribabu