jquery onclick 函数未使用 Rails link_to_remote 触发
在页面的 js 文件中, $(document).ready(function() {})
我
$(".school a").live("click", function (e){
e.preventDefault();
....;
jsFunc(param1, param2, param3);
});
现在有班级 school 的 div 具有由 Rails link_to_remote 使用 :url 生成的标签
、:动作
、:之前
、:html
。
单击此链接时,它会执行与 link_to_remote 有关的所有操作,但不知何故, document.ready 中的 onclick 事件不会附加到它。为什么会发生这种情况呢? jsFunc 所做的就是异步发布到 url,我发现将该发布 url 填充到 link_to_remote 的 :before
中可以工作 - 但有没有一种更优雅的方式能够使用附加功能
In the js file of the page, inside $(document).ready(function() {})
I have
$(".school a").live("click", function (e){
e.preventDefault();
....;
jsFunc(param1, param2, param3);
});
Now the div with the class school has tags generated by rails link_to_remote with :url
, :action
, :before
, :html
.
On clicking on this link it does all that it should do with regards to link_to_remote, but somehow the onclick event in the document.ready does not attach to it. Why would this be happening? The jsFunc all it does is post to a url async-ly, i figured out that stuffing that post url in the :before
of the link_to_remote would work - but is there a more elegant way of just being able to use the attach functionality
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我相信 link_to_remote 助手依赖于 Prototype;如果您已切换到 jQuery,Rails 的 javascript 帮助程序(例如 link_to_remote)可能无法工作。
I believe the link_to_remote helper depends on Prototype; if you've switched to jQuery, Rails's javascript helpers such as link_to_remote might not work.
link_to_remote 与 onclick 属性一起使用。显然,这些在处理任何绑定/实时事件之前被调用,因此您的 PreventDefaults 发生得太晚了。
就我而言,我只是想防止“第二次”点击链接,因此我只是在第一次点击期间将“onclick”属性设为空:
link_to_remote works with the onclick attribute. Apparently these get called before any bind/live events are processed, so your preventDefaults happens too late.
In my case I just want to prevent the 'second' click on the link, so I just nulled the "onclick" attribute during the first click: