【发布时间】:2013-01-13 21:36:39
【问题描述】:
我一直在尝试使以下工作:我希望 jQuery 函数在单击具有 ID 的某个 div 时加载特定的部分。我希望这个 ID 成为我与部分一起使用的 :locals 的一部分。
$("#main>.dots").live("mousedown", function(e) {
$num = 8;
$("#main").append("<%= escape_javascript(render :partial => 'projects/show', :locals => {:i => "#{$num}"}).html_safe %>")
})
到目前为止,我还没有把它弄好。上面的代码返回“为 nil 调用的 id”,因此 $num 没有正确地提供给 escape_javascript 函数。当我用整数 8 替换 $num 时,它可以工作(在 标签之间)。
有什么解决办法吗?
语法:
$("#main").append("<%= escape_javascript(render :partial => 'projects/show', :locals => {:i => 8}).html_safe %>")
工作,所以这就是我想走的路,除了 8 是 jQuery ofcourse
【问题讨论】:
-
.live()已贬值(而且速度非常慢) -
感谢回复,我将用 'on()' 替换它们 :) (忘记它已被弃用)
-
您使用 mousedown 而不是 click 是否有特定原因?
-
我现在不能将其更改为“点击”,但我的部分代码现在似乎不起作用。它必须全部包含在 '$(function() { //code }' 中对吗?
-
我相信我已经找到了答案:jquery 只能在类名已经存在时分配事件,而且我的很多功能都针对尚未加载到页面上的 HTML。我恢复到 .live() ,因为这似乎效果最好。
标签: jquery ruby-on-rails escaping string-interpolation