jQuery可在iPad上拖动实时事件
jQuery draggable for live events on iPad
我正在尝试拖动从ajax返回的实时div。以下代码适用于桌面,但在iPad上,我必须拖动(在页面加载时)每个可拖动的文件两次,一次初始化,然后拖动。即使在页面加载时也可以拖动这个,有什么帮助吗?我的代码如下:
html:
<div class="draggable"> drag this </div>
jQuery:
$.fn.liveDraggable = function (opts)
{
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i)))
{
this.live("touchstart", function() {
if (!$(this).data("init")) {
$(this).data("init", true).draggable(opts);
}
});
return $();
}
else
{
this.live("mouseover", function() {
if (!$(this).data("init")) {
$(this).data("init", true).draggable(opts);
}
});
return $();
}
};
$(".draggable").liveDraggable(
{
helper: 'clone',
containment: '#origin'
})
您不能绑定鼠标悬停事件并期望它们在触摸设备上具有1对1的关系。简单地说,我也有同样的问题,除了不使用实时模型之外,我还没有找到解决方案,这有点糟糕,因为每次添加新的dom元素来继承这些属性时,你都必须重新初始化所有内容。
顺便说一句。
请尝试以下操作,以确定是否已将实时事件附加到该元素。
if (!$(this).data("draggable")) {
$(this).draggable(opts);
}
基本上,您不需要添加随机数据()属性,如
'.data("init", true)'
以上内容防止了名称空间被不需要的东西弄得一团糟,因为一旦附加了draggable就总是正确的,并且可以很容易地删除draggable方法。
相关文章:
- 为什么我没有得到对Comet服务器流事件的实时响应
- jQuery:使用实时事件添加tabindex属性
- 谷歌分析点击事件未显示在行为>事件仅在实时中看到>事件
- HTML5服务器发送的事件不是实时的
- 我想要输入文本元素中的实时更改事件
- JQuery 实时提交事件不调用
- 通过实时事件触发点击
- 如何通过点击事件禁用智能街道/实时地址
- 将实时 jQuery 事件应用于 iframe 内容
- 实时触发来自 Rails 的主干事件
- jQuery可在iPad上拖动实时事件
- jQuery 1.7+中的实时事件
- 如何在类上设置实时事件列表器,以自动调整其高度并调整其内容的大小
- 如何从javascript小部件中删除所有jquery实时事件
- 当使用实时事件时,JQuery slideToggle不能在IE8中工作
- ZeroClipboard / zClip——如何绑定实时事件
- jQuery重新绑定或新元素上的实时事件
- 在实时事件中设置jquery筛选器
- 在jQuery中列出所有实时事件
- 有关实时事件的问题