gpt4 book ai didi

javascript - 如何在 Jquery 中删除和添加回或绑定(bind)和取消绑定(bind)单击事件

转载 作者:行者123 更新时间:2023-12-02 18:06:31 24 4
gpt4 key购买 nike

我想启用和禁用 Jquery 对话框的单击事件,因此如果用户单击“Link #1”,对话框将打开一次,关闭时应禁用“Link #1” 1”,除非用户单击“Link #2”

,否则链接不应打开对话框

我尝试使用.unbind()方法使用jquery,但它没有启用我的按钮第一个链接。它永久禁用点击事件。

或者是否有任何其他“Jquery UI 对话框”方法允许不打开对话框?

这是我的代码:

HTML

    <span title="Accept" class="Accepted">Accept</span>
<span title="Reject" class="Rejected">Reject</span>

JQUERY

    $(".Accepted").click(aceeptMethod);
$(".Rejected").click(function () {
$(this).closest('.rx-container').addClass('selected');
$("#rejectReason").dialog("open");
});

$("#rejectReason").dialog({
autoOpen: false,
modal: true,
buttons: {
"Submit": function () {
$(this).dialog("close");
rejectMethod();
},
"Cancel": function () {
$(this).dialog("close");
}
}
});

function aceeptMethod() {
var $parent = $(this).closest('.rx-container');

$(this).next().bind('click'); // BINDING BACK THE CLICK EVENT
$('.rx-statusRejected', $parent).hide();
$('.rx-statusAccepted', $parent).show();
$('.rejectReasonBox', $parent).hide();
}

function rejectMethod() {
$('.selected .rx-statusRejected').show();
$(".selected .rx-statusAccepted").hide();
$(".selected .rejectReasonBox").show();
$('.selected .Rejected').unbind('click'); // UNBINDING THE CLICK EVENT
}

这是显示我的代码如何工作的 fiddle :<强> http://jsfiddle.net/aasthatuteja/W97wP/

请提出建议!

最佳答案

如果您更改输入元素的链接,则可以使用禁用属性。如果您想取消绑定(bind)然后重新绑定(bind)点击事件,则需要重新调用在原始点击事件中调用的新点击事件内的所有代码。

此外,您没有使用以下代码来定位被拒绝的范围。您的目标是 <br>标签。

$(this).next().bind('click'); 

你可以尝试这样的 siblings 函数。

$(this).siblings(".Rejected").bind('click');

用原来的代码重新绑定(bind)。

  $(this).siblings(".Rejected").bind('click',function () {
$(this).closest('.rx-container').addClass('selected');
$("#rejectReason").dialog("open");
});

关于javascript - 如何在 Jquery 中删除和添加回或绑定(bind)和取消绑定(bind)单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20053129/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com