编程语言
首页 > 编程语言> > javascript-使用GreaseMonkey脚本“ TypeError:无法将未定义转换为对象”

javascript-使用GreaseMonkey脚本“ TypeError:无法将未定义转换为对象”

作者:互联网

我有以下GreaseMonkey脚本.基本上,它将按钮添加到已经有很多按钮的页面上.单击添加的按钮应触发w / e功能与单击所有其他按钮相关.但是,当我单击triggerAllButton时,出现错误TypeError:无法在控制台中将undefined转换为object.任何想法这段代码有什么问题吗?我将@include和@exclude中的链接替换为…,因为我不想将它们公开.

// ==UserScript==
// @name Test Stuff
// @description Test
// @include ...
// @require .../static/jquery.min.js
// @require .../static/bootstrap/js/bootstrap.js
// @require .../static/datatables/js/jquery.dataTables.js
// @require .../static/datatables/js/DT_bootstrap.js
// @require .../static/toastr/toastr.js
// ==/UserScript==

$(document).ready(function(){
    $('.navbar-text.pull-right')
        .append('<input type="button" id="triggerAllButton" class="btn btn-info btn-small" value="Trigger All">');
});

$(function(){
    $('#triggerAllButton').click(function(e){
        e.preventDefault();
        $(".btn.trigger").each(function() {
            $(this).trigger();
        });
    });
});

解决方法:

您错误地使用了.trigger(),您至少需要传递事件类型参数.

$('#triggerAllButton').click(function(e){
    e.preventDefault();
    $(".btn.trigger").trigger("click"); //.each is implicit on all jQuery methods
});

标签:greasemonkey,javascript,jquery
来源: https://codeday.me/bug/20191123/2064316.html