gpt4 book ai didi

ruby-on-rails-3 - Rails 3 自定义 JavaScript 事件在哪里定义?

转载 作者:行者123 更新时间:2023-12-03 12:50:47 25 4
gpt4 key购买 nike

当我查看 Rails 3 jquery-ujs 代码时,我注意到它绑定(bind)到自定义 JavaScript 事件(submit.rails、click.rails 等)。有谁知道这些自定义“.rails”事件在哪里定义?我只是想更好地理解 Rails 3 中的 UJS 东西是如何工作的,这样我就可以更有效地使用它......

最佳答案

这些是 namespaced events .它们没有定义; click.railsclick 相同, 但因为它的命名空间是 rails ,您可以取消绑定(bind)或触发特定于 Rails 的事件处理程序,而无需调用所有 click元素上的事件。

例如,假设您有一些元素 <div class='foo' data-remote='true'> , 和 rails.js 绑定(bind)

$("*[data-remote='true']").bind("click.rails", function() { ... })

在您的代码中,您还拥有:
$(".foo").click(function() { ... });

现在,Rails 可能希望在某个时候调用该远程处理程序,但如果它只是调用了 $(this).click() ,然后它将调用项目上的所有单击处理程序,包括您的自定义处理程序,这可能会产生不良行为。相反,它可以调用 $(this).trigger('click.rails') ,并且只会运行它定义的点击处理程序。

关于ruby-on-rails-3 - Rails 3 自定义 JavaScript 事件在哪里定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4572433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com