gpt4 book ai didi

javascript - event.preventDefault() 不起作用。

转载 作者:行者123 更新时间:2023-12-03 08:20:59 26 4
gpt4 key购买 nike

我的 HTML.ActionLink 中有一个方法,单击该链接后,会打开一个对话框以确认删除元素。如果用户单击"is",则会调用并执行 HTML.ActionLink 中的方法。否则,不会调用该方法。然而,尽管在我的 javascript 函数中添加了 event.preventDefault() ,但当用户单击“否”时,该方法仍会被调用。以下是我的代码:

Javascript:

function ConfirmerSuppressionPage() {
var x = confirm("Êtes-vous sûr de vouloir supprimer cette page?");

if (x == null) {
event.preventDefault();
return false;
}

if (x == true)
return true;
else
event.preventDefault();
return false;
}

HTML.ActionLink:

<div style="float: left; width: 40px; height: 10px; "> @Html.ActionLink
("-Pg", "SupprimerPage", "Section", new { pageId = @item.Id }, new {
Onclick = "ConfirmerSuppressionPage();", @class = "editLink", style = "width:30px" })</div>

HTML.ActionLink 的 HTML 输出:

<a onclick="ConfirmerSuppressionPage();"
class="editLink ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"
href="/Section/SupprimerPage?pageId=70" style="width:30px" role="button" aria-disabled="false">
<span class="ui-button-text">-Pg</span></a>

知道我在这里做错了什么吗?

最佳答案

您必须从函数中获取事件作为参数,例如:

var els = document.querySelectorAll( 'a' );
for( var i=els.length; i--; ) {
els[i].addEventListener('click', function (event) { //for this a / href
event.preventDefault();
ConfirmerSuppressionPage(); //do whatever you want in here
});
}


function ConfirmerSuppressionPage() {
var x = confirm("Êtes-vous sûr de vouloir supprimer cette page?");

if (x === null) {

return false;
}

if (x === true) {
return true;
} else {
event.preventDefault();
return false;
}
}

https://jsfiddle.net/4tbrs7xv/3/

关于javascript - event.preventDefault() 不起作用。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33752535/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com