因此,我有这个Ruby on Rails应用程序,我在其中打开了一个模式以创建新用户。现在,我想用javascript收听该模式中的表单,但是由于某种原因,它根本找不到我的元素。
因此,可以说我在.js中具有以下功能:
$(document).ready(function()
{
$("#PWD1").on("keypress keyup keydown", function()
{
console.log("Check");
});
});
这就是我的输入字段在模态中的样子:
<input
class="PWD1"
id="user_password"
name="user[password]"
placeholder="Password..."
type="password">
现在,当我在该输入字段中键入任何内容时,我的Check便永远不会打印到控制台中。这是为什么?
最佳答案
更改为此:
$(".PWD1")
或ID:
$("#user_password")
您需要以这种方式进行类选择器。
您使用ID引用选择器,而ID是一个类名。
而且我也不确定如果您的模态是动态生成的,那么您必须将事件委托给最接近的静态父代或
$(document)
本身。$(document).on("keypress keyup keydown", ".PWD1", function() {
边注:
当您使用
keypress keyup keydown
事件时,由于keyup and keydown,keypress
,回调函数将触发两次。关于javascript - 在模式中使用输入字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23445465/