Jquery a href单击控制器而不重新加载页面

Jquery a href onclick to controller without reload page

本文关键字:加载 新加载 href 单击 控制器 Jquery      更新时间:2023-09-26

我正在尝试使用jquery编写一个包含确认消息的代码。

点击退出根据我下面的代码发生重新加载我的页面。

<a href="Exit" onclick="return confirm('Are you sure you want to exit?')">Exit</a>

如何在Jquery中不重新加载带有确认消息的页面的情况下编写上述代码?

确认ok=转到href(不重新加载)确认取消=取消,

尝试以下代码

<a href="#Exit" onclick="return confirm('Are you sure you want to exit?'); return false">Exit</a>

解释:

# URL片段是一个前面有哈希标记(#)的名称,该标记指定当前文档中的内部目标位置(ID)。

return false是一种告诉事件不要实际启动的方式。

请参阅演示

我使用这个函数来做类似的事情:

function confirm_text_url(message, url){
    var response = confirm(message);
    if (response==true)
    {
        document.location.href=url;
    }
}

您发布的代码显然已经可以工作了,但既然您已经要求了,这是一样的,但使用jQuery来分配事件处理程序。。。

HTML

<a href="Exit" id="exit-link">Exit</a>

Javascript

$(function() {
    $("#exit-link").on("click", function() {
        return confirm("Are you sure you want to exit?");
    });
});

我在链接中添加了一个ID,只是为了能够使用jQuery显式引用它。除此之外,这是一回事。

根据确认中的文本,我想您可能正在寻找:如何显示";是否确实要离开此页面"何时提交更改?

或者更详细地讨论了对旧浏览器的支持:如何显示";是否确实要离开此页面"何时提交更改?

您必须评估的结果

例如:

var r=confirm("Are you sure you want to exit?");
if (r==true)
  {
  x="You pressed OK!";
  }
else
  {
  x="You pressed Cancel!";
  }

在您的情况下,它将类似于:

<a href="javascript:void(0);" onclick="confirm('Are you sure you want to exit?') ? window.location = 'page-to-go-to': return ">Exit</a>

另外,使用javascript:void(0);作为href,因此您可以确保默认传播不会触发