Javascript 。如果存在另一个js,则单击js将被激发两次
我有下面的htmlJavascript 。如果存在另一个js,则单击js将被激发两次,javascript,jquery,html,Javascript,Jquery,Html,我有下面的html <div id="personalText" > <div class="display"> <a href="#" id="editButton"> edit </a> <p id="descText">{{profile.desc}}</p> </div> <div class="edit" style="display:non
<div id="personalText" >
<div class="display">
<a href="#" id="editButton"> edit </a>
<p id="descText">{{profile.desc}}</p>
</div>
<div class="edit" style="display:none;">
<textarea cols='40' rows='9' id="desc_text" style="border:none; display:block;">{{profile.desc}}</textarea>
<input type="submit" value="Update"/>
</div>
</div>
问题是,如果下面的js代码段存在,$editButton.clickfunction会被激发两次,但是如果我注释掉$input[type='submit'].onclick函数,那么它工作正常
文本区域也应该显示其中的文本,但它不显示任何内容。虽然文本存在,但没有显示出来。我无法复制这两个问题。这是JSFiddle。您可以尝试在这个JSFIDLE中重现您的问题吗?如何确定editButton click处理程序被触发了两次?@liho1eye:我在click处理程序中添加了一个警报调用,当我只单击一次时,它出现了两次。您是否尝试验证您的代码?可能是由格式错误的标记引起的?@FabrizioCalderan奇怪的是,当我用链接替换提交按钮,然后用相同的代码替换链接按钮时,一切似乎都很正常。这个问题可能是因为代码中有其他东西
$("#editButton").click(function() {
$(".display, .edit").toggle();
var desc_text = $("#desc_text").text();
return false;
});
$("input[type='submit']").on("click", function() {
var dec_text = $('#desc_text').val();
$.ajax({
type: "POST",
url:"/users/update_desc/",
data: {
'val': dec_text,
},
}).success(function(){
$(".display, .edit").toggle();
$("#descText").html(dec_text);
});
return false;
});