在使用通配符选择器时,事件能够正常触发,但如果使用特定的ID选择器,则会失败。
以下代码是有效的:
$("*").click ->
console.log "entered event."
$("#tellafriend").dialog
modal: true
buttons:
Ok: ->
$(this).dialog "close"
然而,这并不意味着:
$("#tell-a-friend").click ->
console.log "entered event."
$("#tellafriend").dialog
modal: true
buttons:
Ok: ->
$(this).dialog "close"
以下是我相关的HTML代码:
<ul class="actions">
<li><a href="#">Home</a></li>
<li>|</li>
<li><a href="#" id="tell-a-friend">Tell a Friend</a></li>
</ul>
我是否错过了在CoffeeScript中使此功能工作的某些东西?也许在CoffeeScript中,jQuery选择器的格式不同?
这是我的应用程序提供的渲染JavaScript(当服务页面时,Rails将CoffeeScript转换为JS):
(function() {
$("#tell-a-friend").click(function() {
console.log("works");
return $("#tellafriend").dialog({
modal: true,
buttons: {
Ok: function() {
return $(this).dialog("close");
}
}
});
});
}).call(this);
$(document).ready()
那部分。正在测试。编辑:是的,那就是问题所在。我的大脑短路了。每当我涉及新领域(比如 Coffeescript)时,我总是会忘记基础知识。 - Only Bolivian Here