Har*_*rry 2 jquery coffeescript
向动态添加元素时,如下所示:
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
Run Code Online (Sandbox Code Playgroud)
为什么当我尝试从该行元素中的链接获取此信息时,我得到窗口:
$(".add-row-item").live "click", =>
f = $ this
console.log f // this logs window object, not the link element?
f.parent().append row_item
Run Code Online (Sandbox Code Playgroud)
有人可以解释这种行为以及如何使用$(this)就像你在dom加载时元素确实存在一样吗?
谢谢
=>变化this的this父背景:
$(".add-row-item").live "click", =>
f = $(this)
Run Code Online (Sandbox Code Playgroud)
编译成
var _this = this;
$(".add-row-item").live("click", function() {
var f = $(_this);
Run Code Online (Sandbox Code Playgroud)
->相反,请使用,不会修改this.
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |