繁体   English   中英

Click事件未在由Html.ActionLink生成的链接上触发

[英]Click event not firing on link generated with Html.ActionLink

我有一个ActionLink,如下所示:

@Html.ActionLink("-Pg", "SupprimerPage", "Section", 
new { pageId = @item.Id }, new { @id = "ConfirmDeletePage", @class = "editLink", style 
= "width:30px" })

而我的脚本:

  $(document).ready(function () {
    $(document).on('click', '#ConfirmDeletePage', function () {
        var x=confirm("Confirm delete page?");
        console.log(x);
        if (x == true){
            return true;
        }
        else {
            return false;
        }
    });
});

当我在<a>标记中使用硬编码链接时,它可以正常工作。 但是,当我尝试使用Html.ActionLink生成链接时,未调用事件处理程序。 有什么帮助吗?

对于您的问题“当我单击“是”时,没有调用ActionLink中的方法”,这是因为您在“是”按钮上返回了“是”,因此在执行功能后,它会跟随链接“ href”,这就是在ActionLink中似乎该方法的原因不被调用,仅返回false或使用event.preventDefault(); 在运行“是”按钮的真实部分的内部

  $(document).ready(function () { $(document).on('click', '.editLink', function (event) { var x=confirm("Confirm delete page?"); console.log(x); if (x == true){ return true; } else { alert('Pressed NO') return false; } }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> <a href="http://hello.com" class="editLink" >Click me !</a> 

有关更多信息,请使用此anchor-tag-with-javascript-onclick-event

如果它适用于硬编码链接,但不适用于使用ActionLink的链接,则表示ActionLink必须生成与硬编码链接不同的内容,这意味着jQuery选择器( #ConfirmDeletePage )找不到元素。

您可以通过使用浏览器的开发人员工具检查ActionLink生成的<a...标签来确认这一点。

基于具有指定HTML id的Html.ActionLink问题也许您需要将@id = "ConfirmDeletePage"更改为id = "ConfirmDeletePage"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM