你的活动没有问题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/