【发布时间】:2013-06-13 17:50:20
【问题描述】:
我想通过 JavaScript 添加一些 HTML,并在其上添加点击事件。因为我不想用 JavaScript 编写 HTML,所以我的 HTML 模板中有 HTML sn-ps,在 <script type="text/html"> 标记内,我想将它们包装在类中(这样看起来更好,以便我可以测试功能更好)。
在我的示例中,我有一个带有
的模板<script type="text/html" id="remove-choice-button">
<span class="close">×</span>
</script>
在我的 CoffeeScript 文件中,我有
class RemoveChoiceButton extends jQuery
constructor: ->
super($("#remove-choice-button").html().trim())
但是,如果我尝试将它添加到 DOM,它就不起作用,因为会发生这种情况:
jQuery ->
console.log new RemoveChoiceButton().html()
//=> undefined
我在哪里做错了?
【问题讨论】:
-
也许这只是你的问题中的一个错字,但
console.log(new RemoveChoiceButton()).html()可能不会像你认为的那样做。 -
已修复。还是不行。
-
顺便说一句,这不是和 Ruby 一样,如果你在括号前放一个空格,那么它们就不再是参数了吗?
-
没有“正确”的方法,因为这不是正确的做法。 jQuery 不是一个类,你不能扩展它。 CoffeeScript 并不神奇,它的
extend关键字不会将其他随机函数转换为 CoffeeScript 类。 -
@meagar 为什么在 jQuery API 文档函数中返回
jQuery?您的意思是说您不能扩展使用 CoffeeScript 的class范例创建的笔记类?
标签: jquery coffeescript