jquery - Sinatra - 如何在部分中添加 javascript

标签 jquery sinatra

我正在使用 Sinatra 文档中提到的部分辅助模块。当我在部分中添加 JavaScript 时,它会准确地放置在 HTML 输出中我放置的位置。但是有一个新的js/jsquery--1.7.js/eval/seq/[1](array)在脚本 block 中(我可以从 firebug 中看到这一点),这相当于我在部分文件中放入的内容,并且这也得到了评估,因此事件再次被触发。

假设您在部分中放置一个警报('helloworld') - 它会被触发两次。发生了什么以及如何避免这种情况?

最佳答案

这个答案可能会好得多,但您必须发布一些有关如何使用部分的示例代码(按照 @summea 4 天前的要求)。

您的问题听起来像是您看到放置在部分中的 JavaScript 代码在页面上渲染了两次,一次在您放置它的 html 中,一次在 Firebug 中(“js/jsquery-1.7.js/eval/seq/1”)。

确保您只在页面上渲染该特定部分一次,否则您的 JavaScript 将触发多次(因为它在页面上多次出现)。

换句话说:

<%= render "myPartialWithJavaScript" %>

<h1>My Page</h1>

<p>Welcome to my page!</p>

很好并且:

<%= render "myPartialWithJavaScript" %>

<h1>My Page</h1>

<p>Welcome to my page!</p>

<%= render "myPartialWithJavaScript" %>

将导致您的 JavaScript 被执行多次。

关于jquery - Sinatra - 如何在部分中添加 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9058432/

相关文章:

javascript - 如何正确地将嵌入式 ruby​​ 代码放入 JavaScript?

ruby - 如何在服务器上设置我的 Sinatra REST API?

session - Sinatra + Rack::Test + Rspec2 - 使用 session ?

jQuery Flexigrid : How to wrap text in flexigrid column?

php - jquery 使用ajax检查用户名是否已在数据库中

javascript - 未从服务器检索 jQuery 文件

ruby-on-rails - Rails 和 Sinatra 共享 session 无法正常工作

jquery - Bootstrap 3 : Collapse Accordion Not Working

javascript - 将值写入 div 时出现 insideHTML 问题

ruby - NoMethodError,在sinatra中调用属性