0
如何將以下內容翻譯爲PrototypeJS Event.observe?防止PrototypeJS事件處理程序中的鈴聲//
<input type="text" .... onkeypress="if(event.keyCode==13)return false;">
目的是防止在某些情況下不應該起(在IE9)的小丁。
如何將以下內容翻譯爲PrototypeJS Event.observe?防止PrototypeJS事件處理程序中的鈴聲//
<input type="text" .... onkeypress="if(event.keyCode==13)return false;">
目的是防止在某些情況下不應該起(在IE9)的小丁。
你報什麼會像這樣使用Prototype的事件東西:
var input = /* ...get the `input` element, how will depend on your structure... */;
input.observe('keypress', function(event) {
if (event.keyCode == 13) {
event.stop();
}
});
Event#stop
做兩件事情:它可以防止默認操作,如果有的話,它停止事件冒泡。如果你只是想阻止默認動作而不是冒泡動作,可以使用Event#preventDefault
來代替(Prototype會確保它在那裏,即使在瀏覽器上它也不會關閉)。如果您只想停止冒泡但不阻止默認操作,請改用Event#stopPropagation
(同樣,Prototype將確保它在那裏)。
在尋找input
元素計:如果它有一個id
,很簡單:
var input = $('theId');
或者,你可以,或者通過它的其他屬性,使用$$
通過它在哪裏找到它,它提供了相當強大的選擇器(大部分是CSS3)。
雖然處理程序確實按下輸入時觸發,IE9仍然dings – c0dem4gnetic 2011-03-18 09:07:44
@ c0dem4gnetic:恐怕我不知道你是什麼意思。以上回答了您如何使用Prototype編寫帶引號的代碼的問題。它是否做到了你想要做的事情完全是另一個問題。 :-) – 2011-03-18 09:13:20
注意到這是Prototype 1.6 + IE9的問題。升級到1.7並根據您的答案處理事件完美無缺。 – c0dem4gnetic 2011-03-18 10:37:02