无法拖动动态添加的 DIV
Can't drag dynamically added DIV
我有一个带有 id: TEST 的 DIV,我可以使用 jQuery UI 拖动它。一切都有效,但是一旦我删除它并将 DIV 动态加载到 HTML 中(为了指定更多:使用 SSE 将 DIV 加载到 HTML 中),DIV 就无法拖动。这是因为 jQuery 是在 DIV 之前加载的。如何解决这个问题?由于我使用 SSE,因此 DIV 在一段时间内加载了几次。
jquery代码:
$(function() {
$( "#TEST" ).draggable({
containment: "parent"
}).css({'cursor': 'all-scroll', 'z-index': '5'});
});
DIV TEST 被加载到名为 dragZone 的 antoher DIV 中
<div id="dragZone" name="dragZone"> [div TEST is loaded here] </div>
加载 SSE 的 JS:
//HTML5 SSE(Server Sent Event) initilization
this.initSevr=function(){
sevr = new EventSource('test.php');
sevr.onmessage = function(e){
if(oldata!=e.data){
dragZone.innerHTML+=e.data;
oldata = e.data;
}
};
};
那么如何再次拖动 DIV 呢?Div 使用 SSE 放入 HTML 中,这一切都有效。
您可能需要将可拖动代码移动到加载事件中,如下所示:
//HTML5 SSE(Server Sent Event) initilization
this.initSevr=function(){
sevr = new EventSource('test.php');
sevr.onmessage = function(e){
if(oldata!=e.data){
dragZone.innerHTML+=e.data;
oldata = e.data;
$( "#TEST" ).draggable({
containment: "parent"
}).css({'cursor': 'all-scroll', 'z-index': '5'});
}
};
};
这是假设 DOM 在使用 innerHTML 后立即更新;如果没有,则可能需要使用简短的 setTimeout 来使其可拖动。
我想你忘记了引号,试着从
sevr = new EventSource('test.php);
自
sevr = new EventSource('test.php');
相关文章:
- 添加文字和评论功能更新Div
- JQuery将侦听事件添加到.rezable(),然后附加DIV's
- 从提示(jQuery)添加带有变量的列表项(Div)
- 如果Div包含精确文本,则添加类
- 如何使用jQuery将当前月份添加为DIV的类
- 如何从DIV数组向DIV添加文本
- JQuery 将一个 Div 值的百分比添加到另一个值
- 无法在 DIV 中添加 LI 项
- 如何使用Javascript添加和使用Div作为总计算器
- 在具有特定ID的DIV中使用JavaScript动态添加HTML元素
- 如何在 DIV 中添加 html5 画布
- 使用 javascript 或 jquery 动态地将 Div 添加到 html 页面
- 在 ajax 函数中向 DIV 添加样式更改
- 将警报DIV添加到验证脚本(jquery / javascript)
- 如何向多重显示/隐藏DIV添加更多按钮
- 如何将DIV添加到Jquery-Simpleslider插件中
- 将Div添加到th
- 禁止使用jquery向DIV添加HTML元素
- 每次单击按钮时,向现有 Div 添加不同的文本
- 使用javascript将DIV添加到弹出窗口中