2016-06-21 85 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);

相关问题