Jquery ui 如何为jquery对话框按钮设置不同悬停颜色的样式

Jquery ui 如何为jquery对话框按钮设置不同悬停颜色的样式,jquery-ui,Jquery Ui,我不想给我的jquery对话框按钮赋予不同的悬停颜色。例如,当用户将鼠标悬停在“确定”按钮上时,鼠标悬停颜色将为蓝色,当用户将鼠标悬停在“取消”按钮上时,鼠标悬停颜色将为灰色。 有人能告诉我怎么做吗?基本理论:使用一个或多个css类,在鼠标输入时动态添加到html对象中,在鼠标输出时删除。您可以查看和一些示例,了解如何做到这一点 详细说明:有两种不同的方法可以实现这一点,我可以立即想到,这取决于您想在哪里做出“确定/取消”按钮“决定” 使用不同的背景色向样式表添加两个不同的类,并向每个元素添加一

我不想给我的jquery对话框按钮赋予不同的悬停颜色。例如,当用户将鼠标悬停在“确定”按钮上时,鼠标悬停颜色将为蓝色,当用户将鼠标悬停在“取消”按钮上时,鼠标悬停颜色将为灰色。
有人能告诉我怎么做吗?

基本理论:使用一个或多个css类,在鼠标输入时动态添加到html对象中,在鼠标输出时删除。您可以查看和一些示例,了解如何做到这一点

详细说明:有两种不同的方法可以实现这一点,我可以立即想到,这取决于您想在哪里做出“确定/取消”按钮“决定”

  • 使用不同的背景色向样式表添加两个不同的类,并向每个元素添加一个类。这意味着您将需要两个非常相似的jQuery方法,但可以考虑其中的大部分以避免重复

  • 在按钮上硬编码不同的类名(或使用按钮id或其他名称),并制作两个不同的css选择器,例如
    。ok。hover{your style here}
    。cancel。hover{your style here}
    。然后您只需要一个jQuery调用,它使用jQuery选择器点击两个按钮并添加/删除
    hover


  • 您可以使用此功能:

    function changeButtonClass(buttonIndex, classes) {
     var selector = 'div[class^=ui-dialog-buttonpane] > button';
     var buttonConcerned;
     if (buttonIndex >= 0) {
      buttonIndex++;
      buttonConcerned = $(selector + ':nth-child(' + buttonIndex + ')');
     } else {
      return;
     }
     buttonConcerned.removeClass();
     buttonConcerned.addClass(classes[0]);
     buttonConcerned.
      hover(
       function() {
        $(this)
        .removeClass()
        .addClass(
        classes[1])
       },
       function() {
        $(this)
        .removeClass()
        .addClass(
        classes[0])
      })
      .focus(
       function() {
        $(this)
        .removeClass()
        .addClass(
        classes[2])
       })
      .blur(
       function() {
        $(this)
        .removeClass()
        .addClass(
        classes[0])
       });
    }
    
    然后使用以下命令调用函数(对于3个按钮对话框):


    所以它是有效的;)

    Iam使用标准的jquery ui对话框和以下代码$('#popup')。对话框({autoOpen:false,modal:true,bgiframe:true,title:'Management',按钮:{“Delete Client”:function(){alert('oh no just dont Delete me:(');},“Cancel”:function(){$(this).dialog(“close”)谢谢你的回答,但是我使用标准的jquery ui对话框,代码是$('popup')。对话框({autoOpen:false,modal:true,bgiframe:true,title:'Management',按钮:{“Delete Client”:function(){alert('oh no just dont Delete me:(');,“Cancel”:function(){$(this.dialog(“close”)});$(文档).ready(function(){$(“.ui dialog buttonset”).children(“:button”).hover(function(){$(this.css('background','url('/images/buttons/green_26.png'));$(.ui dialog buttonset”).children(“:button”).mouseout(function(){$(this.css('background','url('/images/buttons/grey_26.png'));});//或类似的用法。。
    var classes = new Array('myClass', 'myClass2', 'myClass2');
    changeButtonClass(0, classes);
    var classes = new Array('myClass3', 'myClass4', 'myClass4');
    changeButtonClass(1, classes);
    changeButtonClass(2, classes);
    
    $(document).ready(function() {
        $(":button").hover(function() {
            $(this).css('background', 'url(' / images / buttons / green_26.png ')');
        });
        $(":button").mouseout(function() {
            $(this).css('background', 'url(' / images / buttons / grey_26.png ')');
        });
    });