0

我想要一个弹出窗口,询问我是否要在执行 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>

目前没有任何反应。没有弹出窗口,也没有点击按钮...

4

2 回答 2

0

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

尝试:

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

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

于 2013-08-09T11:25:40.300 回答
0

这段代码中有很多错误。

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

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

  3. 删除jQuery(document).ready,因为它不是必需的:仅在加载文档后才会调用 confirmclick 函数。此外,如果你住在那里,你的回调函数将永远不会被执行,因为文档已经被加载并且事件已经被触发。

于 2013-08-09T11:37:53.017 回答