从appendTo内容内部调用操作
invoke actions from inside an appendTo content
我有一个div元素附加到body元素
$('<div class="tooltip"></div>').appendTo('body');
并给它赋值一些HTML
$('div.tooltip').html('<a class="closeme">close me</a>');
我希望当用户点击close me链接时附加的div会被移除
所以我做了
$('a.closeme').click(function(){
$('div.tooltip').remove();
});
但是我没有得到任何响应,即使我尝试一个简单的
$('a.closeme').click(function(){
alert('hi');
})
我没有得到任何回应。我怀疑它的行为是这样的,因为我使用了appenTo方法。如果有人能告诉我如何从appentTo元素内部调用auction,我将不胜感激
使用on()
方法将事件附加到当前存在或将来会出现的元素:
$('parentElementSelector').on('click','.tooltip',
function(){
alert('the tooltip was clicked!');
});
在您的例子中,由于您要附加到body
元素:
$('body').on('click','a.closeme',
function(){
$(this).closest('.tooltip').remove();
});
参考:-
closest()
. -
on()
. -
remove()
.
您可以这样构建它(工作示例)…
// create your new elements
$div = $('<div class="tooltip"></div>');
$a = $('<a class="closeme">close me</a>');
// attach the event to the created element
$a.click(function() {
alert("hi");
});
// combine them
$div.html($a);
// add them to the page
$div.appendTo('body');
你的代码似乎对我来说工作得很好,看看这个。
你用$(document).ready(function() {});
构建它的最短方法可能是这样的:
$('<div class="tooltip"><a class="closeme">close me</a></div>').appendTo('body').on('click', function() {$(this).remove()});
你需要添加一个实时事件的关闭功能,简单的点击功能将不起作用试试这个
$('.closeme').live('click',function(){
$('div.tooltip').remove();
});
相关文章:
- 使用参数从视图中调用操作
- 如何在ruby on rails中对onclick javascript调用操作
- 在 PHP MVC 中从 Javascript 调用操作方法
- 当 JavaScript 将禁用属性更改为 false 时,命令按钮不会调用操作
- 使用按钮代替 href 在 symfony2 中调用操作
- 从更改事件调用操作结果 [MVC4]
- 使用链接从不同的控制器调用操作
- 如何在弹出窗口中调用操作
- JSF 1.1——无页面刷新的backingbean调用操作方法(通过ajax/javascript)
- 在调用操作之前显示模式引导
- 从模式引导程序调用操作
- 从appendTo内容内部调用操作
- 在页面加载时显示调用操作栏
- 从子窗口调用操作,关闭子窗口并重新加载父页面
- 从AJAX调用操作数据:PHP或Javascript
- 提交按钮不调用操作
- 在javascript中从window.open()调用时未调用操作方法
- 从弹出窗口调用操作
- emberjs从onclick调用操作
- 如何在Jquery中单击()后调用操作