這個問題已經被問/回答(大部分)之前,但我已經試過三件事冒泡停止事件,但沒有奏效:火災的輸入按鍵事件兩次
return false;
e.stopPropagation();
e.preventDefault();
(返回false應該採取關心其他兩個的,正確的)
這裏的HTML:
<div class="tags-holder">
<input type="text" class="addField" id="addField_<%= visit.id %>" placeholder="add a new tag">
</div>
而且JS(UPDATE清理):
$('.addField').show().keyup(function(event){
event.preventDefault();
if(event.keyCode == 13 || event.keyCode==9) {
ProfilePage.createTag(this, 'nada', 'addField')
$(this).hide().val('');
return false;
}
});
我在那裏留下了多餘的塞子,但是真的不應該返回false只幹掉冒泡? (使用Chrome)。
線索?鍵代碼= 13是 「輸入」
爲什麼你要做'$(field).functionCall()'而不是'field.functionCall()'? –
我創建了[jsFiddle](http://jsfiddle.net/thomas_peklak/dNKZ7/3/)代碼,但沒有看到任何問題 - 您嘗試阻止的行爲是什麼? – topek
謝謝。這樣可行;也許這是事件冒泡的東西給DOM(我沒有發佈整個頁面)。 問題是,它會觸發createTag()函數兩次,這是有問題:) – bear