无法设置jqueryUI的Dialog关闭按钮的活动状态

时间:2011-10-10 00:57:29

标签: jquery jquery-ui jquery-plugins jquery-ui-dialog

我希望在jqueryUI的对话框中设置关闭按钮的活动状态(在标题栏中)。我已经设定了它的正常状态:悬停状态很好。但是:活跃状态似乎永远不会触发。

插件中是否存在阻止关闭按钮链接中的:active状态工作的内容?这可以改变,以便它可以工作吗?

以下是问题的一个示例:View example

3 个答案:

答案 0 :(得分:2)

禁止在浏览器中选择不支持'selectstart'事件的Dialog Widget的TitleBar。对于那些浏览器,他们禁用“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()或自己取消绑定

答案 1 :(得分:1)

:active状态仅在单击时触发。在那一点上你的对话框会立即关闭,所以我怀疑你能看到它的状态。如果这不能回答你的问题,你能提供一个例子吗?

答案 2 :(得分:1)

鉴于@Bizniztime的评论,为什么不在javascript中执行此操作?

$(".ui-dialog-titlebar-close").mousedown(function() {
    $(this).css("background", "#000");
}).mouseover(function() {
    $(this).css("background", "#0F0");    
}).mouseout(function() {
    $(this).css("background", "#F00");    
});

你也可以添加/删除类......