Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery单击事件适用于桌面浏览器上的动态内容,但不适用于移动浏览器_Jquery - Fatal编程技术网

jquery单击事件适用于桌面浏览器上的动态内容,但不适用于移动浏览器

jquery单击事件适用于桌面浏览器上的动态内容,但不适用于移动浏览器,jquery,Jquery,我为动态加载的内容编写了以下代码,它可以在桌面浏览器上工作,但不能在移动设备上工作 首先,我这样调用动态内容,它将我想要/订购的项目添加到列表中: 这在移动设备上有效 <script> $('document').ready(function(){ $('li p').click(function(){ $('#ordered').load('cart.php?action=add&id='+this.id); });

我为动态加载的内容编写了以下代码,它可以在桌面浏览器上工作,但不能在移动设备上工作

首先,我这样调用动态内容,它将我想要/订购的项目添加到列表中:

这在移动设备上有效

<script>
    $('document').ready(function(){
        $('li p').click(function(){
            $('#ordered').load('cart.php?action=add&id='+this.id);
    });
</script>
<script>
    $('document').ready(function(){

    $('.r').bind('click',function(){
        $('#ordered').load('cart.php?action=delete&id='+this.id);

    });});
</script>

$('document').ready(函数(){
$('lip')。单击(函数(){
$('#ordered').load('cart.php?action=add&id='+this.id);
});
该列表显示项目名称、价格、数量以及从列表中删除项目的选项。要删除的代码如下所示:

这在手机上不起作用

<script>
    $('document').ready(function(){
        $('li p').click(function(){
            $('#ordered').load('cart.php?action=add&id='+this.id);
    });
</script>
<script>
    $('document').ready(function(){

    $('.r').bind('click',function(){
        $('#ordered').load('cart.php?action=delete&id='+this.id);

    });});
</script>

$('document').ready(函数(){
$('.r').bind('click',function(){
$('#ordered').load('cart.php?action=delete&id='+this.id);
});});
谢谢

编辑

我得到了我的解决方案。我必须使用
live()
函数,因为我一直在动态调用元素,它工作得很好。对不起,我的不好。:p任何方式谢谢大家。:)

您需要用于点击事件。点击并不总是在触摸屏上工作

正如一个想法-您可以将事件处理程序和处理单击、轻击、滑动等链接在一起,即

function myClickHandler (e)
{
   //.. do work
}

$('li p').bind('click',myClickHandler)
          .bind('tap', myClickHandler)
          .bind('swipe', myClickHandler);
因此,可以一次覆盖所有类型的事件。从jQuery1.7开始,您将使用
on
not
bind


可能会有帮助

您使用的是什么版本的jQuery?但是我的其他onclick事件在我的移动设备上运行良好。这些$('document').ready(function(){$('iorded').draggable();$('lip')。click(function(){$('iorded').load('cart.php?action=add&id='+this.id)});$('details')。click(function()//alert(this.id))$('#details').load('details.php?detail_id='+this.id);})$('#categories ul li')。单击(function(){$('#booklist').load('db.php?id='+this.id);});工作正常。我将尝试链接事件并尝试的任何方法都会让您知道。