javascript - .trigger() 一个 .on()

标签 javascript jquery

var $forms = $('form.vote');
$forms.submit(function(){
    return false;
});
$('.votebtn').on('click',function(){
    $this.closest('form').trigger('vote_now', [$(this).val()]);
});

$forms.on('vote_now',function(value){
    alert(value);
});

vote_now 应该被触发并弹出值,但出了点问题。这是什么?

http://jsfiddle.net/6ZHy4/

最佳答案

您忘记了var $this = $(this);,额外的参数将在事件对象之后传递。

JSFIDDLE DEMO

var $forms = $('form.vote');
$forms.submit(function(){
    return false;
});
$('.votebtn').on('click',function(){
    var $this = $(this);  // declare variable
    $this.closest('form').trigger('vote_now', [$(this).val()]);
});
                                   // second argument, not first.
$forms.on('vote_now',function( e, value ){
    alert(value);
});

关于javascript - .trigger() 一个 .on(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8557377/

相关文章:

jQuery 单属性、带过滤器的多值选择器

javascript - 选择任何其他选项 bootstrap 时取消选择默认选择

java - 从 Javascript 调用 Java (Birt)

javascript - 如何将带有本地数据的组合框添加到kendo网格列模板

javascript - Whatsapp 按钮在 Android 上工作但在 IOS 上空白

javascript - mCustomScrollbar 滚动条显示在隐藏的div上

javascript - jquery更多使用data属性的点击功能

javascript - 加载页面和覆盖

javascript - 为什么悬停选择器不适用于类?

javascript - 如何使用默认按钮来关闭tippyjs的工具提示