是否有Ext认可的方法来突出显示默认按钮(通过按Enter触发的按钮)在Ext.MessageBox中?
请注意,我不想在MessageBox显示时将焦点放在按钮上(在“prompt”对话框的情况下,我希望输入元素具有焦点)。
我知道可以通过向按钮元素添加自定义类来实现这一点,但是...也许有更好的、更符合Ext风格的方法吗?
谢谢。
是否有Ext认可的方法来突出显示默认按钮(通过按Enter触发的按钮)在Ext.MessageBox中?
请注意,我不想在MessageBox显示时将焦点放在按钮上(在“prompt”对话框的情况下,我希望输入元素具有焦点)。
我知道可以通过向按钮元素添加自定义类来实现这一点,但是...也许有更好的、更符合Ext风格的方法吗?
谢谢。
Ext.MessageBox.defaultButton = buttonIndex;
'buttonIndex' 是对话框中按钮的索引。在调用 Ext.MessageBox.Show 之前,您需要进行这个操作。
new Ext.Msg.show({
title: 'Test',
msg: 'A sample message box with a button marked as default',
buttons: { ok: '<b>Submit</b>', cancel: 'Cancel' },
fn: function(btn) {
if(btn == 'ok') {
//do something
}
},
icon: Ext.Msg.WARNING
}
<b>
标签,这会将其中一个按钮显示为粗体。<b>
标签那样只需添加类以使其更容易。Ext.MessageBox
类之外,没有其他方法可以实现这一点。Jaitsu的回答是最好的,但如果这对其他人有用的话...这是一种使用样式来实现的方法。同样的技巧也可以应用于任何其他按钮(如:窗口按钮)。
将以下内容添加到您的CSS中:
.x-btn-default td.x-btn-mc {
outline: 1px dotted black;
}
然后像这样定义按钮:
...
,buttons: [
{
text: 'Ok',
,handler: handleFn
,cls: 'x-btn-default'
},{
text: 'Cancel',
,handler: handleFn
}
]
,...