除了在单击禁用按钮时实际触发事件,还可以在禁用按钮前添加一个哑元,并在该元素上添加一个与禁用状态关联的侦听器。例如,
http://jsfiddle.net/FN45M/
JS
$(document).ready(function() {
/*this click listener could also be added as part of the disableButton function.*/
$(document).on('click', '.click-div', function() {
console.log('clicked');
alert('clicked');
});
disableButton($('button'));
//enableButton($('button'));
});
function disableButton($el){
var wrapper = $el.wrap("<div class='wrapper'>").parent();
wrapper.css({"display":"inline","position":"relative"});
var divClick = $("<div class='click-div'>");
divClick.css({"position":"absolute",
"top":0,
"height":"100%",
"width":"100%"
});
wrapper.append(divClick);
/*divClick.on('click', function() {
console.log('clicked');
alert('clicked');
});*/
}
function enableButton($el){
$el.next(".click-div").remove();
$el.unwrap("<div class='wrapper'>");
$el.prop("disabled",false);
}
HTML
<button disabled>test</button>
http://stackoverflow.com/questions/7833854/jquery-detect-click-on-disabled-submit-button这可以帮助你。 – TheFrozenOne
使用其布局来播放它的禁用的展示,但不是禁用它,只需为click事件添加不同的处理程序。 – melancia
不要禁用它,使它看起来像禁用(从用户的角度来看,灰色文本和背景等),并用变量或其他东西处理它的状态。 –