我希望能够样式化jqueryUI对话框标题栏中关闭按钮的激活状态。我已经成功地为其普通状态和:hover状态进行了样式设置,但是:active状态似乎从未被触发。插件中是否有什么东西防止了关闭按钮链接中的:active状态工作?是否可以更改以使其正常工作?以下是问题示例:查看示例。
在不支持“selectstart”事件的浏览器中禁用对话框小部件标题栏选择的结果是禁用了“mousedown”事件。
第145行:jquery.ui.dialog.js
uiDialogTitlebar.find( "*" ).add( uiDialogTitlebar ).disableSelection();
第120行:jquery.ui.core.js
disableSelection: function() {
return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) +
".ui-disableSelection", function( event ) {
event.preventDefault();
});
},
enableSelection: function() {
return this.unbind( ".ui-disableSelection" );
}
所以你可以使用enableSelection()或自行解除绑定
鉴于@Bizniztime的评论,为什么不用JavaScript来实现呢?
$(".ui-dialog-titlebar-close").mousedown(function() {
$(this).css("background", "#000");
}).mouseover(function() {
$(this).css("background", "#0F0");
}).mouseout(function() {
$(this).css("background", "#F00");
});
您还可以添加/删除类...
:active
状态只有在被点击时才会触发。在那一点上,您的对话框将立即关闭,因此我怀疑您能否看到它的状态。如果这个回答没有解决您的问题,您可以提供一个例子吗?