所以我有2个按钮(Accept,Deny),它们都用另一个按钮显示相关的div。
单击第3个按钮(For Accept)时,我想在单击“接受”后滑动“接受”表单,然后单击“发送接受”按钮,禁用第2个(拒绝)。
单击“发送接受”后,我删除了在拒绝时使用的类option
,但操作仍然存在且“拒绝”按钮仍然有效:(
我的代码: http://codepen.io/leongaban/pen/hKDIJ
HTML
<div id="accept" class="option btn_accept">
Accept
</div>
<div id="deny" class="option btn_deny">
Deny
</div>
<div id="accept_msg">
<form id="accept_form">
<textarea name="" id="" cols="30" rows="2">ACCEPT! textarea</textarea>
<button id="send_accept">SEND ACCEPT</button>
</form>
</div>
<div id="deny_msg">
<form id="deny_form">
<textarea name="" id="" cols="30" rows="2">DENY! textarea</textarea>
<button id="send_deny">SEND DENY</button>
</form>
</div>
的jQuery
$('.option').unbind('click').bind("click", function() {
var user_choice = $(this).attr('id');
// IF ACCEPT
if (user_choice === 'accept') {
$('#accept_msg').slideDown('fast', function() {});
$('#deny_msg').slideUp('fast', function() {});
$('.btn_accept').css('background', 'orange');
$('.btn_deny').css('background', '#ccc');
// IF DENY
} else if (user_choice === 'deny') {
$('#accept_msg').slideUp('fast', function() {});
$('#deny_msg').slideDown('fast', function() {});
$('.btn_deny').css('background', 'blue');
$('.btn_accept').css('background', '#ccc');
}
});
$('#accept_form').unbind('submit').bind("submit", function() {
var btn_send_accept = $('#send_accept');
var btn_deny = $('#deny');
$(btn_send_accept).css('cursor','auto');
$(btn_send_accept).css('background','#ccc');
$(btn_send_accept).text('Sending...');
$(btn_send_accept).attr("disabled", "disabled");
$(btn_deny).removeClass('option');
$(btn_deny).removeClass('btn_deny');
$(btn_deny).addClass('btn-disabled');
});
有任何想法/提示吗?
答案 0 :(得分:3)
使用.off()禁用点击事件处理程序:
$(btn_deny).off("click");
答案 1 :(得分:1)
如果您已将按钮标记为已禁用,则可以使用hasClass
jquery方法停止处理操作。例如:
$('#mybutton').click(function() {
if (!$(this).hasClass('btn-disabled')) {
/* process button click */
} else {
/* cancel */
}
});
答案 2 :(得分:1)
用户点击“#btn_send_accept”后,你必须“.unbind”
$(btn_deny).removeClass('option');
$(btn_deny).removeClass('btn_deny');
$(btn_deny).addClass('btn-disabled');
$(btn_deny).unbind('click');