jQuery按钮状态有效

Pet*_*tah 4 javascript jquery jquery-ui

如何维护jQuery UI按钮ui-state-active

我有一个按钮,我想成为一个切换按钮.因此,当我激活它应该保持活跃.

目前,如果我设置ui-state-active一个按钮,如果我将鼠标悬停在按钮上,它将被移除.

该按钮的标记只是:

this.button = $('<div>')
    .html(this.text)
    .addClass(this.options.baseClass)
    .attr('title', this.getTitle())
    .click(this.click.bind(this))
    .button();
Run Code Online (Sandbox Code Playgroud)

按钮必须是a div,它不能是a checkbox.

???

Mic*_*son 7

简单的解决方法

另一个建议是ui-state-highlight改用.

手动处理悬停

除了使用checkboxlabel组合,而不是div,我使用的唯一的解决方法是取消绑定mouseovermouseout从按钮后初始化,然后我自己绑定mouseover/ mouseout函数来处理的触发按钮ui-state-hover自己.

this.button = $('<div>')
    .html(this.text)
    .addClass(this.options.baseClass)
    .attr('title', this.getTitle())
    .click(this.click.bind(this))
    .button()
    .unbind('mouseover mouseout hover')
    .bind('mouseover', function() {
        $(this).addClass('ui-state-hover');
    }).
    bind('mouseout', function() {
        $(this).removeClass('ui-state-hover');
    });
Run Code Online (Sandbox Code Playgroud)