【问题标题】:jQuery toggle a button value using .prop()jQuery 使用 .prop() 切换按钮值
【发布时间】:2014-02-02 23:27:49
【问题描述】:

我试图在悬停时更改按钮的值,然后在鼠标关闭时更改回来。

要更改值,这确实有效:

$(".followbuttony").hover(function () {
     $(".followbuttony").toggle('value', 'Unfollow');
});

当然,它仍然保持这个价值。问题是按钮值首先是动态加载的,所以我不能在鼠标关闭时设置另一个值。

对使它成为切换样式操作有什么帮助吗?

我要展示这个 jsfiddle:

http://jsfiddle.net/T5Vm2/

谢谢!

【问题讨论】:

    标签: javascript jquery html button toggle


    【解决方案1】:

    这不是这样做的方法,您必须使用hover()中的两个处理程序

    $(".followbuttony").hover(function () {
         $(".followbuttony").val('Unfollow');
    },function() {
         $(".followbuttony").val('Following');
    });
    

    FIDDLE

    就我个人而言,我更喜欢这个

    $(".followbuttony").on('mouseenter mouseleave', function(e) {
        $(".followbuttony").val(e.type=='mouseenter'?'Unfollow':'Following');
    });
    

    要存储初始值,对其进行更改,然后将其取回,您可以这样做:

    $(".followbuttony").on('mouseenter mouseleave', function(e) {
        if (e.type=='mouseenter') {
            $(this).data('val', this.value).val('Unfollow');
        }else{
            $(this).val($(this).data('val'));
        }
    });
    

    FIDDLE

    【讨论】:

    • 问题是我有一个从数据库中获取的值作为值的一部分。所以它有追随者 - (追随者的数量)。这对于一个简单的 jquery 函数来说工作量太大了吗?
    • 不行,你需要把值存储在某个地方,然后再取回来,给我一点时间写代码
    • 好的,谢谢,我明白其中的一部分。只是不知道是否有办法简单地切换值。不过感谢代码帮助:)
    • 刚刚添加,你必须存储初始值,而jQuery有data(),这是一个存储数据的好地方,然后再取回来。
    • 哇,谢谢,这是一个很好的功能:) 将来会记住这个功能。一直在这里学习。应在几分钟内标记为已接受。
    【解决方案2】:

    您可以像这样将两个函数传递给悬停事件:

    $(".followbuttony").hover(function () {
             $(".followbuttony").prop('value', 'Unfollow');
    },function() {
             $(".followbuttony").prop('value', 'Following');
    
    });
    

    Click here - Jsfiddle

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-26
      • 1970-01-01
      • 2020-05-20
      • 2013-01-31
      • 2014-09-21
      • 2016-06-22
      • 2017-01-09
      • 1970-01-01
      相关资源
      最近更新 更多