移动设备dom块

时间:2016-08-31 00:06:26

标签: javascript jquery performance dom javascript-events

我创建了简单的标题栏。他们每个人都会在点击时发送请求,但是在移动设备上(无论哪一个,甚至是控制台上的桌面google crome mobile mod都没关系)DOM开始被阻止并停止工作。 我怀疑:

  1. 当用户点击按钮时我发送很长的获取请求
  2. 我绑定了新的侦听器(一次又一次)但不是这个标题栏
  3. 我该如何防止这种情况?

1 个答案:

答案 0 :(得分:0)

您是如何附加点击事件的?它应该不复杂。

这是一个应该有效的简单代码示例(也适用于移动浏览器):

HTML片段:

<button id="myBtn">Click here to load content</button>
<div id="contentContainer"></div>

Javascript(使用jQuery)代码段

$('#myBtn').on('click',function(){

    // show some indication to the user that you are loading something
    $('#contentContainer').html('<strong>Loading content, please wait..</strong>');

    // do your ajax call
    $.ajax({
        url:'https://api.myapp.com/get/user-info',
    }).done(
    function(data){
        // all done - display the loaded content 
        $('#contentContainer').html(data);
    });
});

将此作为用例,如果您仍然被阻止&#34;在移动设备上执行javascript后(单击附加到单击处理程序的元素也执行js),这通常意味着您有一个javascript错误 - 这导致移动浏览器停止运行任何更多的JavaScript,直到您修复问题并重新加载页面。

希望它有所帮助!