你在问永久意味着什么,我也不知道,这只是描述我的情况最准确的。
我有这个HTML按钮:
<button type="button"
class="btn btn-primary btn-lg" data-follow="follow"
data-target="52cd6196211b6fc26a8b456c">
<span class="glyphicon glyphicon-plus"></span>
Follow
</button>
我添加了一个点击事件,如下所示:
$("button[data-follow=follow]").click(function(e) {//scenario1});
在给定的情况下,此代码被执行:
$("button[data-follow=follow]").attr("data-follow","unfollow");
我有这个列表:
$("button[data-follow=unfollow]").click(function(e) {//scenario2});
当我再次单击该按钮时会触发scenario1,它应该触发scenario2?
有人知道发生了什么事吗?
答案 0 :(得分:3)
然后我们必须在此背景下使用event-delegation
,
$(document).on('click',"button[data-follow=follow]",function(e) {//scenario1});
$(document).on('click',"button[data-follow=unfollow]",function(e) {//scenario2});
请参阅我建议document
实现事件委派,但您应该使用相对于提供的选择器的任何最接近的静态父级。
答案 1 :(得分:0)
再次更改属性后,您需要指定点击功能
$("button[data-follow=follow]").attr("data-follow","unfollow");
immediate statement
$("button[data-follow=unfollow]").click(function(e) {//scenario2});
或者您可以使用事件描述
$(document).on('click',"button[data-follow=follow]",function(e) {//scenario1});
$(document).on('click',"button[data-follow=unfollow]",function(e) {//scenario2});