Javascript jquery选择器总是选择,即使它不应该选择
当我再次单击值为Add的输入按钮时。它会像预期的那样再次发出警报。不应该这样,因为现在输入按钮的值是“添加”而不是“保存” 调整此选项以满足您的需要 在这里拉小提琴:Javascript jquery选择器总是选择,即使它不应该选择,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,当我再次单击值为Add的输入按钮时。它会像预期的那样再次发出警报。不应该这样,因为现在输入按钮的值是“添加”而不是“保存” 调整此选项以满足您的需要 在这里拉小提琴: 阅读关于事件委派的信息事件被绑定到元素,即使它不再与查询匹配,也会被保留。事实上,事件甚至不知道查询是什么,只知道它添加到的实际元素 可能的解决办法: 委托给父元素: $(document).on("click", "input[value='Save']", function(){ $(this).attr("value
阅读关于事件委派的信息事件被绑定到元素,即使它不再与查询匹配,也会被保留。事实上,事件甚至不知道查询是什么,只知道它添加到的实际元素 可能的解决办法: 委托给父元素:
$(document).on("click", "input[value='Save']", function(){
$(this).attr("value", "Add");
alert("clicked");
});
办理入住手续:
$("#question-proper table tr td").on('click', "input[value='Save']", function(){
var number = parseInt($(this).attr('data'));
$(this).attr("value","Add");
alert("Clicked");
});
使用仅运行一次事件。一个:
$("#question-proper table tr td input[value='Save']").on('click',function(){
if($this).attr('value') !== 'Save') return;
var number = parseInt($(this).attr('data'));
$(this).attr("value","Add");
alert("Clicked");
});
您已经将单击处理程序附加到该元素,只要不删除它,它就会保持附加状态。这与用于引用元素的选择器是否匹配无关。如果要使其成为动态的,请使用事件委派。@CBroe ahmm..谢谢:你能给我看看吗?我花了3个小时解决这个问题。我欠你的。注意:“bind”的过去式是“bind”(非bind)。@TrueBlueAussie谢谢,修正了。在这些小字体中,您可以直接编辑答案。
$("#question-proper table tr td input[value='Save']").on('click',function(){
if($this).attr('value') !== 'Save') return;
var number = parseInt($(this).attr('data'));
$(this).attr("value","Add");
alert("Clicked");
});
$("#question-proper table tr td input[value='Save']").one('click',function(){
var number = parseInt($(this).attr('data'));
$(this).attr("value","Add");
alert("Clicked");
});