2013-07-19 60 views
3

我有以下GreaseMonkey腳本。它基本上增加了一個按鈕到已經有很多按鈕的頁面。點擊添加的按鈕應該觸發w/e功能與點擊所有其他按鈕相關聯。但是,當我單擊triggerAllButton時,控制檯中出現錯誤TypeError: can't convert undefined to object。任何想法這個代碼有什麼問題?我將@include@exclude中的鏈接替換爲...,因爲我不希望它們公開。「TypeError:無法將undefined轉換爲object」與GreaseMonkey腳本

// ==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(); 
     }); 
    }); 
}); 

回答

3

您錯誤地使用了.trigger(),您需要至少傳遞事件類型參數。

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

啊,你是對的!愚蠢的錯誤。雖然,即使我指定要觸發的事件,也沒有任何反應。我嘗試着用CSS對按鈕着色並且可以工作,但是模擬一下點擊卻什麼都不做。有任何想法嗎? – mart1n

+0

@ mart1n您需要使用警報或控制檯對其進行調試,並查看路徑停止的位置 – Esailija

相關問題