jquery mobile防止默认不适用于phonegap应用程序

时间:2014-11-08 13:11:13

标签: javascript jquery jquery-mobile cordova

我希望通过本地存储将数据传递到另一个html页面。通过网址发送数据似乎无法在手机间隙中发挥作用

所以我想点击点击事件并在页面更改之前运行我的数据分配功能

但是防止默认不适用于列表视图。

<ul class="content"  data-role="listview" data-inset="true" data-filter="true">
<li><a href="second.html"> <img src="image.jpg" /> to go to second page</a></li>
<li><a href="second.html"> <img src="image.jpg" /> to go to second page</a></li>
<li><a href="second.html"> <img src="image.jpg" /> to go to second page</a></li>
<li><a href="second.html"> <img src="image.jpg" /> to go to second page</a></li>
 </ul>

我在这里设置了一个小提琴:

http://jsfiddle.net/prantikv/kpv42yne/1/

我的最终目标是获取点击了哪个列表视图项以及与之关联的值。 通过URL获取数据似乎不起作用。

event.preventDefault()方法不起作用..请参阅小提琴

1 个答案:

答案 0 :(得分:0)

event.preventDefault()正常运行。问题是你的代码搞砸了。首先,这不是你如何使用jQuery选择器:

$(".content li,.content a")

我相信你正在尝试这样做:

$(".content li a")

我也不知道你在这里要做什么:

$(document).on('pagebeforeshow','index', function(){   
    alert(2);    
    $(document).on('vmousedown click', function(event){
        event.preventDefault();
        return false;
    });
});

因为<a>标记上的点击是导致页面更改的原因,所以您要避免默认行为并保存值。所以这就是你所需要的:

$(".content li a").click(function (event) {
    event.preventDefault();

    localStorage.setItem("fileName", $("#path").val());
    console.log($("#path").val());

    window.location.href = "second.html";
});

我分道扬琴:http://jsfiddle.net/theagitator/9aa4nkx3/2/