我有一个输入文本字段,我触发键事件.在输入时,我使用输入值处理一些特定代码.一切都很棒.
HAML:
%input#myField{:type => "text"}
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
my_field = document.getElementById('myField');
my_field.addEventListener("keypress", function (event) {
if (event.keyCode == 13) {
event.preventDefault();
if (tag_field.value.length != 0) {
console.log(my_field.value);
// Run my specific process with my_field.value
my_field.value = '';
}
}
}, false);
Run Code Online (Sandbox Code Playgroud)
但是现在我想在这个输入上添加datalist.
HAML:
%input#myField{:list => "htmlList", :type => "text"}
%datalist#htmlList
%option{:value => "toto"} toto
%option{:value => "foo"} foo
Run Code Online (Sandbox Code Playgroud)
问题是当我在datalist上导航以选择项目时,我按下回车键.在输入键时,我的侦听器被调用并使用输入的初始值处理我的代码.
在此步骤中,该字段的值为空.之后,该值将替换为datalist中选择的值.
所以我的问题是:
有没有办法改变数据列表的行为,用datalist选择的值替换输入值而不按回车键?(禁用datalist的输入键)
有没有办法检测datalist何时处于活动状态(或可见状态)以处理EventListener中的不同行为?
我在我的规范中使用沉默方法(http://apidock.com/rails/Kernel/capture).
例如,我想避免在这个块上显示:
silence(:stdout) do
ActiveRecord::Tasks::DatabaseTasks.purge_current
ActiveRecord::Tasks::DatabaseTasks.load_schema_current
end
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但是自从Rails 4以来它被标记为已弃用.因为它将在下一个版本中删除,我搜索替换但未找到.
是否存在线程安全的东西?
是否存在替代品?
对于某些测试,我想尝试rails 5 alpha并使用发生器.
我只是创建一个新的应用程序(rails new test)
我更改了gemfile并添加/替换:
gem 'rails', github: "rails/rails"
gem 'arel', github: 'rails/arel'
Run Code Online (Sandbox Code Playgroud)
我得到这个错误:
~/c/test ??? rails g model Model table_name:string model_name:string indexes:hstore
/Users/user/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/dependency.rb:315:in `to_specs': Could not find 'railties' (>= 0) among 9 total gem(s) (Gem::LoadError)
Checked in 'GEM_PATH=/Users/user/codes/test/.gems:/Users/user/.rbenv/versions/2.2.2/gemsets/global:/Users/user/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0', execut
e `gem env` for more information
from /Users/user/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/dependency.rb:324:in `to_spec'
from /Users/user/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_gem.rb:64:in `gem'
from /Users/user/codes/test/.gems/bin/rails:22:in `<main>'
Run Code Online (Sandbox Code Playgroud)
如何为轨道5安装铁路?