如何使用jquery删除提交按钮的悬停属性?

时间:2015-11-10 14:33:11

标签: javascript jquery form-submit

在文档准备就绪时,我使用

禁用了表单提交按钮
jQuery(document).ready(function ($) {
//disable submit button

$('input[type="submit"]').prop("disabled", true);

现在,根据要更改的文本字段,我启用/禁用提交按钮

$("#codetextfield").change(function () {

        if (~$.inArray($(this).val().toLowerCase(), vouchersArr)) {

             $('input[type="submit"]').prop("disabled", false);
        } else {
            $(this).val('Non valid');   
             $('input[type="submit"]').prop("disabled", true);
        }
    });//end change

但是按钮悬停效果仍然有效,用户只是认为表单没有反应。那么我怎样才能删除按钮悬停效果?

1 个答案:

答案 0 :(得分:2)

我认为你的意思是unbind而不是删除:

$("input[type='submit']").unbind("mouseenter mouseleave");

这将完全照顾悬停。

P.S。:如果您想将其重新设置,您可以轻松完成:

$("input[type='submit']").on(
    "mouseenter": function(){
        // Do something
    },
    "mouseleave": function(){
        // Do something
    }
});

编辑如果这仍然失败,您可以始终在元素上强制执行CSS,但我建议您将类或ID绑定到元素,以使其成为解决方案的焦点。例如,假设您添加了一个 not-hoverable 类。

jsFiddle

HTML

<form>
    <input type="submit" class="hoverable" value="Hoverable"></input>
    <br/><br/><br/>
    <input type="submit" class="not-hoverable" value="Not Hoverable"></input>
</form>

CSS

.hoverable {
    cursor: pointer;
}
.not-hoverable {
    cursor: arrow;
}

此解决方法可以应用于文档就绪所需的元素,如下所示:

$(".selector-for-the-submit-button-here").addClass("hoverable");
$(".selector-for-the-other-submit-button-here").addClass("not-hoverable");

当处理CSS和WordPress之类的东西时,如果WordPress与你斗争,你想要确保你的样式否决了WordPress。作为最后的手段,在CSS语句的末尾添加!important以确保您的规则可以这样工作:

.hoverable {
    cursor: pointer !important;
}
.not-hoverable {
    cursor: pointer !important;
}