[英].click event called twice?
我不确定发生了什么问题,但是我正在chrome或Firefox中尝试使用此代码,并且该事件被两次触发两次,有什么帮助吗? 我得到一个空的多余“ <li> </ li>”
HTML代码
<div id="nav">
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
<li>Bread</li>
</ul>
<!-- Input field -->
<input type="submit" name="search" value="Add" id="submit" style="float: right" />
<div style="overflow: hidden; padding-right: .5em;">
<input id="box" type="text" name="add" value="" style="width: 100%;" />
</div>
</div>
jQuery代码
<script>
$('#submit').click(function(e){
var add = $("#box").val();
if(add !="")
$("#nav ul").append("<li>"+add+"<li>");
e.preventDefault();
e.stopPropagation();
});
$('#box').keypress(function(e){
var add = $("#box").val();
if(e.which == 13)//Enter key pressed
$("#nav ul").append("<li>"+add+"<li>");
});
</script>
click事件未触发两次,问题在于您正在执行此操作
$("#nav ul").append("<li>"+add+"<li>");
这是两个打开的<li>
标记。 因此它被输出为<li>entered text</li>
和<li></li>
。 改为这样做:
$("#nav ul").append("<li>"+add+"</li>"); //close the tag
看到这个小提琴
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.