在执行Javascript之前确认

时间:2013-08-09 11:21:58

标签: javascript

我想要一个弹出窗口,询问我是否要在执行javascript代码之前继续。 问题是我无法更改按钮本身添加确认的事情。 我使用的代码是:

<script type="text/javascript">

function confirmclick(id) {
var answer = confirm ('This action cannot be undone. Are you sure you want to perform this action?');
if (answer) {
<![CDATA[
jQuery(document).ready(function() {
jQuery("button span:contains('Sendung übermitteln')").parent("button").click(function(){
jQuery(this).unbind('click');
});
jQuery("button span:contains('Sendung übermitteln')").parent("button").click();

});
//]]>
} else{} }
</script>

目前没有任何事情发生。没有弹出窗口,也没有点击按钮...

2 个答案:

答案 0 :(得分:0)

您需要将函数绑定到DOM加载事件,以便在页面准备好时调用它。

尝试:

$(document).ready(function() {
    // do some stuff, call your function etc
});

然后在页面加载时调用该代码。或者,如果您在其他时间需要它,请更改触发上述回调的事件。

答案 1 :(得分:0)

此代码中有许多错误。

  1. <![CDATA[应该在<script type="text/javascript">//]]></script>之后confirmclick

  2. 确保将按钮上的click事件绑定到$(document).ready(function() { $('#you_btn_id').onclick(confirmclick); });函数。例如在</script>之前添加jQuery("button span:contains('Sendung übermitteln')").parent("button").click();。删除jQuery(document).ready,因为它会触发click事件。它无意绑定事件。

  3. 删除{{1}}因为没有必要:只有在加载文档后才会调用confirmclick函数。此外,如果您居住在那里,您的回调函数将永远不会执行,因为文档已经加载并且事件已经被触发。