javascript - 在点击处理函数上重写 jQuery

标签 javascript jquery

我是 jQuery 的新手,我希望是否有一种方法可以覆盖现有的点击函数。

代码如下:

$('.woo-star-rating').on('click', function() {
    $('.woo-star-rating-filled').width( $(this).attr('data-rating') * 25 )
});

我想在我自己的 .js 文件中将数字 25 更改为 21

$('.woo-star-rating').on('click', function() {
    $('.woo-star-rating-filled').width( $(this).attr('data-rating') * 21 )
});

最佳答案

您可以使用 .off() 删除现有的 click 事件处理程序方法添加新的点击事件。

var $rating = $('.woo-star-rating');

$rating.off('click');
$rating.on('click', function() {
    $('.woo-star-rating-filled').width( $(this).attr('data-rating') * 21 )
});

这可以链接成:

$('.woo-star-rating').off('click').on('click', function() {
    $('.woo-star-rating-filled').width( $(this).attr('data-rating') * 21 )
});

这是一个工作示例:

// add junk event
$('#test-button').on('click', function() {
  console.log('first button click');
});

// remove first event
$('#test-button').off('click');

// add new event, only this will fire on click
$('#test-button').on('click', function() {
  console.log('second button click');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="test-button">Test Button</button>

关于javascript - 在点击处理函数上重写 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39691694/

相关文章:

javascript - 使用与最新实例相同的函数的对象的多个实例

javascript - 如何在不刷新整个页面的情况下更新 HTML 文档中的 php 变量?

javascript - fatal error : invalid array length Allocation failed - JavaScript heap out of memory

javascript - parsley.js 如何使用自定义错误消息在字段上触发错误

javascript - 为 promise 编写循环的正确方法。

javascript - Bootstrap 3 的就地文本编辑组件

javascript - FB ID 返回为未定义

jQuery:如何触发 anchor 链接的点击事件

javascript - 如何直接从手机使用 .apk 链接下载 Android 应用程序?

javascript - 单击时 Bootstrap 警报关闭