你的活动没有问题pageinit。错误在于<a>标签。
要消除您遇到的错误,您必须对代码进行两项更改:
- 它不是
disabled,它的disable
- 在调用
disable方法之前,您必须调用button()方法。因此,您将初始化该button元素。
这就是代码现在的样子:
$('#ageNext').button().button('disable');
但是,如果你这样做,你会得到这样的错误:
未捕获的类型错误:无法调用未定义的方法“addClass”
罪魁祸首在于调用该disable方法的代码
disable: function() {
this.element.attr( "disabled", true );
this.button.addClass( "ui-disabled" ).attr( "aria-disabled", true );
//^^ Uncaught TypeError: Cannot call method 'addClass' of undefined
return this._setOption( "disabled", true );
}
你看到this.button那里了吗?undefined如果元素不是真正的按钮,这将变为。
也就是说,我disable 只能处理元素类型。出于某种原因,这在模拟按钮时无法按预期工作。我已经通过手动向元素添加类来实现这一点,如下所示:input[type=button]<button/><a/>ui-disabled
$(document).on('pageinit', '#age', function (e) {
$('#ageNext').addClass('ui-disabled');
});
演示:http: //jsfiddle.net/hungerpain/gzAHT/