Jquery 添加div后使用它
所以我不太擅长js。。。在将div添加到dom后,我遇到了一个问题,无法理解,之后如何使用它 所以我有一个简单的代码,它添加了divJquery 添加div后使用它,jquery,jquery-ui,Jquery,Jquery Ui,所以我不太擅长js。。。在将div添加到dom后,我遇到了一个问题,无法理解,之后如何使用它 所以我有一个简单的代码,它添加了div $('#add_frame_by_button').click(function(){ $('body').append(crazy_frame); }); 也有 $("#resizable").draggable().resizable({ resize: function(event, ui) {
$('#add_frame_by_button').click(function(){
$('body').append(crazy_frame);
});
也有
$("#resizable").draggable().resizable({
resize: function(event, ui) {
//some code
}
});
那么,如何在添加后将其绑定到工作状态呢?正如您所说的绑定是您的答案。您将把点击事件绑定到父元素,它将监视任何点击事件。当前,您仅在可用元素上设置单击事件 他们网站上的样本:
$('#foo').bind('click', function() {
alert('User clicked on "foo."');
});
您可以在附加div并将事件绑定到div之后尝试遍历它
$('body').append(疯狂的框架)。children('resizeable').draggable()…
现在可能发生的是$(“#resizable”)。DragTable()…
在加载页面时绑定事件,但在加载页面后追加内容
您还可以尝试使用带有选择器的jQueryon()
始终绑定事件,或者如果您使用的是jQuery pre-1.7,则使用live()
/delegate()
。
初始单击如何附加到对象没有问题,因此这与此无关。我认为您正在寻找jQuery的
.on()
函数。其他一些答案提到了.live()
函数,但从jQuery 1.7开始,该函数已被弃用
.on()
函数将允许您侦听从子元素冒出的特定事件,并做出相应的响应。如果将.on()
方法应用于将包含动态添加的
的元素,则可以定义一个函数,该函数将在该元素中的
出现特定事件时随时调用
另外,您是否有理由不能简单地应用
.click()
处理程序本身中的各种.resizeable()
和.draggable()
函数?您的问题还不太清楚
我想这就是你想要的:
如果要添加框架,则需要构建一个框架,因此必须附加以下内容:
<div id='crazy_frame' style='width:200px;height:100px;background-color:red'></div>
我给一些尺寸和颜色,以便我可以看到,当然你可以改变大小和颜色
如果你想给这个“框架”一个可拖动的属性,你只需要调用可拖动的方法
<script type="text/javascript">
$(document).ready(function(){
$('#add_frame_by_button').click(function(){
$('body').append("<div id='crazy_frame' style='width:200px;height:100px;background- color:red'></div>");
$('#crazy_frame').draggable();
});
});
</script>
$(文档).ready(函数(){
$(“#通过按钮添加框架”。单击(函数(){
$('body')。追加(“”);
$(“#疯狂帧”).draggable();
});
});
如果你那样做,你很快就会面临一个问题。告诉我我是否正确遵循是不是
变量crazy\u frame a的ID为resizeable?
@ohgod为什么是的,如果div已经在dom中,那么一切都正常。我想不出来,如何添加…谢谢,效果很好。但也许你有什么建议,如何使用bind()?以防万一……我猜你指的是托尼的答案。您绑定单击的方式没有问题。你可以使用click()
和.bind('click')
。是的,在添加帖子之前,我尝试使用live和其他工具,但问题在于resize:function(event,ui)我想我可能用live()
注释误导了你<无法使用live()
附加code>draggable()和resizeable()
,因为它们不是事件,而是自定义jQuery插件。只需在附加内容后进行绑定,就可以了。