Javascript 停止“观察”字段的观察
我使用rails helper observe_字段观察文本字段的输入:Javascript 停止“观察”字段的观察,javascript,ruby-on-rails,prototypejs,Javascript,Ruby On Rails,Prototypejs,我使用rails helper observe_字段观察文本字段的输入: <%= observe_field :word_word, :frequency => 0.25, :function => "wordObserve('#{@word_str}')" %> 0.25,:function=>“wordObserve('.{@word\u str}')”%> 当textfield输入变成某个值时,我想停止观察。我尝试了Event.stop()和Event.sto
<%= observe_field :word_word, :frequency => 0.25, :function => "wordObserve('#{@word_str}')" %>
0.25,:function=>“wordObserve('.{@word\u str}')”%>
当textfield输入变成某个值时,我想停止观察。我尝试了Event.stop()和Event.stopObserving(元素、eventName、处理程序),但两者似乎都不起作用。有什么想法吗?要停止观察者,必须对观察者调用
stop
方法。默认情况下,observe\u字段
helper创建一个未命名的观察者。必须修补辅助对象才能创建命名的观察者
将此修补程序添加到您的app/helpers/application\u helper.rb
module ActionView::Helpers::PrototypeHelper
def observe_field(field_id, options = {})
poller_name, key = options.delete(:poller_name), "new Form.Element.Observer"
poller_name ? super :
super(field_id, options).gsub(Regexp.new(Regexp.escape(key)),
"var #{poller_name} = #{key}")
end
end
在视图中创建一个命名的现场观察者
:
<%= observe_field :word_word, :frequency => 0.25,
:poller_name => :word_word_poller
:function => "wordObserve('#{@word_str}')" %>
0.25,
:poller\u name=>:word\u word\u poller
:function=>“wordObserve('.{@word_str}')”%>
在java脚本回调函数中,调用word\u word\u poller.stop
停止观察字段
参考
(一)