Javascript 在iphone/ipad的固定位置页脚中单击未触发的事件

Javascript 在iphone/ipad的固定位置页脚中单击未触发的事件,javascript,html,ios,Javascript,Html,Ios,因此,我在iphone/ipad上呈现页面时遇到了一些问题。这在我检查过的所有桌面浏览器以及android中都能正常工作。问题在于单击页脚中的LIs。我尝试通过以下方式将单击事件附加到页脚元素: $('#footer li').live('click', function(e) { Site.loadpage($(this).attr('page') + '.html'); }); 但是什么也没有发生,没有javascript错误或其他任何事情。因此,为了获得更多信息,我

因此,我在iphone/ipad上呈现页面时遇到了一些问题。这在我检查过的所有桌面浏览器以及android中都能正常工作。问题在于单击页脚中的LIs。我尝试通过以下方式将单击事件附加到页脚元素:

$('#footer li').live('click', function(e) { 

        Site.loadpage($(this).attr('page') + '.html');

});
但是什么也没有发生,没有javascript错误或其他任何事情。因此,为了获得更多信息,我添加了一个更通用的点击事件,在这里,我可能会发现一些其他元素妨碍了通过以下方式捕获事件:

$('*').live('click', function(e) { 

    alert(e.target);

});
通过此事件,我可以单击页面上的任何位置,并获得一个关于我所单击元素类型的警报。除了在页脚,那里什么都没有发生

这里有一些关于我正在使用的页面的进一步信息,如果需要,我可以提供更多信息,唯一相关的是我正在使用jquery

我有一个具有以下结构的页面:

<body>
        <div id="header">

        </div>

        <div id="content">

        </div>

        <div id="footer">
            <ul>
                <li page="projects" class="projects"><span>Projects</span></li>
                <li page="people" class="people active"><span>People</span></li>    
                <li page="assignments" class="assignments"><span>Assignments</span></li>
                <li page="search" class="search"><span>Search</span></li>
                <li page="more" class="more"><span>More</span></li>
            </ul>
        </div>
</body>

我不相信live在iOS中工作是有原因的。试试看,那应该行

$('*').on('click', function(e) { 

    alert(e.target);

});

我不相信live在iOS中工作是有原因的。试试看,那应该行

$('*').on('click', function(e) { 

    alert(e.target);

});

为什么不使用触摸事件而不是单击事件,这是一个鼠标事件,而不是触摸屏事件-
touchstart和touchend作为触摸屏事件更具意义

为什么不使用触摸事件而不是单击事件,这是一个鼠标事件,而不是触摸屏事件-
touchstart和touchend作为触摸屏事件更有意义

我也有同样的问题。尝试警告此页脚元素上的事件没有成功。我无意中试过:

$('*').on('touchend', function(e) {});
请注意,我使用“touchend”作为触发事件,并设置:

cursor: pointer;
在iPhone3GS、iOS 5.1.1上测试


祝你好运。

我也有同样的问题。尝试警告此页脚元素上的事件没有成功。我无意中试过:

$('*').on('touchend', function(e) {});
请注意,我使用“touchend”作为触发事件,并设置:

cursor: pointer;
在iPhone3GS、iOS 5.1.1上测试


祝你好运。

Hrmm,我在我的应用程序中使用了“别处直播”,它似乎在其他元素上工作正常,只是页脚出了问题。如果可以的话,我想避免使用on,因为我的应用程序中的页脚可以动态设置,如果我可以绑定一次事件,我很乐意在整个会话中使用它,这将是非常理想的。这就是说,现在我已经将它更改为在每个页面加载页脚并正常工作后使用您的方法。除非有人给出不同的答案,否则我会给你分数。我明白你的理由,.on可能不是100%你想要的,但从jQuery 1.7开始,.live方法被弃用,因此这可能是你的问题的一部分。另外,这似乎是jQuery Hrmm中的一个已知错误,我在应用程序的其他地方使用live,它似乎在其他元素上正常工作,只是页脚给了我这个问题。如果可以的话,我想避免使用on,因为我的应用程序中的页脚可以动态设置,如果我可以绑定一次事件,我很乐意在整个会话中使用它,这将是非常理想的。这就是说,现在我已经将它更改为在每个页面加载页脚并正常工作后使用您的方法。除非有人给出不同的答案,否则我会给你分数。我明白你的理由,.on可能不是100%你想要的,但从jQuery 1.7开始,.live方法被弃用,因此这可能是你的问题的一部分。另外,这似乎是jQuery中的一个已知错误。我尝试了单击、vclick和触摸,但都得到了相同的结果。只是在黑暗中拍摄,但您可以尝试给出一个定位属性,例如position:relative和一个大于0的z索引。也许iOs用较小的z索引呈现页脚只要重新阅读你的css,是否显示:页脚上真的没有一个在你的源代码中?胡说我的错误,包括这一点,那不应该在那里。此外,我还尝试了z索引,这就是为什么我首先尝试在所有元素上使用绑定,尝试捕获可能在其顶部但隐藏的内容,但没有骰子。我尝试了单击、vclick和触摸,所有这些都得到了相同的结果。只是在黑暗中拍摄,但您可以尝试指定一个定位属性,例如position:relative和一个大于0的z索引。也许iOs用较小的z索引呈现页脚只要重新阅读你的css,是否显示:页脚上真的没有一个在你的源代码中?胡说我的错误,包括这一点,那不应该在那里。我还尝试了z-index,这就是为什么我首先尝试在所有元素上使用绑定来尝试捕获一些可能在它上面但是隐藏的东西,但是没有骰子。