Coffeescript 动态添加元素-使用$(此)
将元素动态添加到dom时,如下所示:Coffeescript 动态添加元素-使用$(此),coffeescript,jquery,Coffeescript,Jquery,将元素动态添加到dom时,如下所示: row = """ <div class="ipad-row"> <h3>Sample Row</h3> <div id="wrapper-placeholder"> <div class="scrollView" style=""> <a class="btn btn-primary add-r
row = """
<div class="ipad-row">
<h3>Sample Row</h3>
<div id="wrapper-placeholder">
<div class="scrollView" style="">
<a class="btn btn-primary add-row-item">Add an item</a>
</div>
</div>
</div>
"""
$(".add-row").live "click", ->
$(".ipad .body").append row
false
有人能解释一下这种行为吗?如果加载dom时元素确实存在,我如何像您一样使用$(this)
感谢
将父上下文中的此
更改为此
:
$(".add-row-item").live "click", =>
f = $(this)
编译成
var _this = this;
$(".add-row-item").live("click", function() {
var f = $(_this);
改用
->
,这不会修改这个一个78.3 k的声誉人不说任何关于live的事情是很不寻常的()@Ankit“使用$(文档)。在('click','add row item',function(){…});
而不是。live
,因为不推荐使用的Blablablablabla-请参阅文档”。我回答了这个问题,是关于Coffeescript语法的,不是关于jQuery的。live()
已被弃用,您应该在
上使用。谢谢,让我这样做
var _this = this;
$(".add-row-item").live("click", function() {
var f = $(_this);