2016-06-21 83 views
1

我目前正在編寫一個Greasemonkey腳本來將onclick事件添加到現有按鈕,以顯示一個確認彈出窗口。greasemonkey - 將onclick事件添加到現有按鈕

這是現有的HTML:

<input type="button" id="previewOrder" title="" class="ui-button ui-widget ui-state-default ui-corner-all" role="button" aria-disabled="false" value="Preview Order"> 

我想出了下面的JavaScript,但它不能正常工作或無法

function confirm() { 
    alert ("Sure?"); 
} 

document.getElementById("previewOrder").addEventListener("click", confirm(), false); 

如何得到這個工作有什麼建議?

+0

你不能打電話給你的功能確認,這是無論如何vauge。稱之爲有意義並避免衝突。 – dandavis

回答

1

confirm()原生窗口方法。所以把它放在一個函數:

function myFunction() { 
    confirm(...); 
} 

function myFunction() { 
 
    confirm("Sure?"); 
 
} 
 

 
document.getElementById("previewOrder").addEventListener("click", myFunction);
<input type="button" id="previewOrder" title="" class="ui-button ui-widget ui-state-default ui-corner-all" role="button" aria-disabled="false" value="Preview Order">

+0

謝謝,但不幸的是沒有工作... – Aurelia

+0

它應該工作!您必須在''之後的''末尾放置JavaScript。我已經添加了一個例子! – Sun

+0

'確認()'被採取... – dandavis

1

感謝您的幫助了。最後,看起來它沒有在我身邊工作的原因是腳本在頁面(特別是目標元素)被加載之前執行。在添加waitForKeyElements()實用程序後,代碼正在工作。

https://stackoverflow.com/a/12899331/3149095

function myConfirm() { 
 
confirm ("Sure?\n\nCheck rules.\n\n"); 
 
} 
 

 
function setConfirm() { 
 
document.getElementById("previewOrder").addEventListener("click", myConfirm); 
 
} 
 

 
waitForKeyElements ("#previewOrder", setConfirm);

相關問題