jquerymobile确认似乎没有影响结果?

问题描述

| 这是jquerymobile应用程序的摘录。这是一个简单的文件管理器,允许删除文件,我想确认删除。我正在尝试使用JavaScript确认再次检查是否应继续执行操作;但似乎无论我做什么,我都无法阻止它的发生。
<script type=\"text/javascript\">
    $(document).ready(function(){
        $(\".confirm\").live(\"click\",function(ev){
            var nam = $(this).html(),loc = $(this).attr(\'href\'),answer = confirm(\"Are you sure you want to delete:\\n\\n\" + nam);
            if (answer){
                return true;
                //window.location.href = loc;
            }else{
                ev.preventDefault();
                return false;
                window.location.href = window.location.href;
            }
        });
    });
</script>

...

<div data-role=\"page\" data-theme=\"a\">
    <div data-role=\"content\">
        <ul data-role=\"listview\" data-inset=\"true\">
            ...
            <li><a class=\"confirm\" href=\"?delete=#urlEncodedFormat(f.name)#\">#f.name#</a></li>
        </ul>
    </div>
</div>
您可以看到我尝试了3种不同的方法来防止链接重定向页面,但是似乎没有一种方法可以达到我的期望。我究竟做错了什么?     

解决方法

        您正在使用
.live
,但又不了解它的作用方式。 将
.live
更改为
.bind
,它将起作用。 另外-阅读有关ѭ1的知识,以了解
.live
绑定到文档并在事件冒泡时捕获事件,因此为防止默认操作或任何其他行为为时已晚。 顺便说一句-如果将代码放在return语句之后,则可能会有些混淆,认为有人出于某种奇怪的原因实际上正在运行它。 [编辑] 如果您希望它在没有javascript(渐进式增强和功能)的情况下工作,则应使用服务器端生成的对话框来询问问题,即使没有javascript也是如此。 如果您不关心渐进增强,而只希望它在高端浏览器中工作,那么为什么还要麻烦href呢? 如果用户确认,将
href
重命名为
data-href
并加载。您无需采取任何措施。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...