我正在使用 this控件,这是 jquery 智能向导的版本 3。
这是智能 Sprite 的代码:
$('#wizard').smartWizard({transitionEffect:'slide'});
这是 javascript 中的辅助函数:
function disableNextButton(){
var $actionBar = $('.actionBar');
$('.buttonNext', $actionBar).addClass('buttonDisabled').off("click");
}
function enableNextButton(){
var $actionBar = $('.actionBar');
$('.buttonNext', $actionBar).removeClass('buttonDisabled');
}
css 类 actionBar,用于设置放置上一个、下一个和完成按钮的区域的样式。样式 buttonNext 应用于下一个按钮,样式 buttonDisabled 用于为按钮添加灰色。所有引用的样式都包含在智能向导 css 文件中。
问题是我可以使用 jquery 的“.off”函数禁用按钮单击事件,但我无法使用“.on”恢复原始事件处理程序。
我的问题是如何在禁用按钮后恢复下一个按钮点击事件?
谢谢。
最佳答案
.off 取消链接事件处理程序,因此您需要重新附加事件处理程序。你不能只说
$('.buttonNext', $actionBar).removeClass('buttonDisabled').on("click");
因为 jQuery 不会“记住”事件是什么,或者如果您有多个事件,也不会“记住”您想要绑定(bind)的事件。您可以使用 click 速记来指定函数,如下所示:
$('.buttonNext', $actionBar).removeClass('buttonDisabled').click(function() {
// Code for your click goes here.
});
关于javascript - 在 jquery 智能向导控件上启用/禁用按钮单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20889539/