这个问题已经被问/回答(大部分)之前,但我已经试过三件事冒泡停止事件,但没有奏效:火灾的输入按键事件两次
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