Javascript jquery:Don';不明白为什么元素选择器工作或不';行不通
我有一个包含以下元素的html文档Javascript jquery:Don';不明白为什么元素选择器工作或不';行不通,javascript,jquery,html,Javascript,Jquery,Html,我有一个包含以下元素的html文档 <input type="text" style="width: 40px;" name="rate" id="rate" value="1" /> 为什么呢 head中包含的jQuery是: <script src="/assets/jquery-1.12.3.min.js"></script> 接受事件名称作为第一个参数 由于没有名为#rate的事件,以下操作将不起作用 $(document).on('#rate'
<input type="text" style="width: 40px;" name="rate" id="rate" value="1" />
为什么呢
head中包含的jQuery是:
<script src="/assets/jquery-1.12.3.min.js"></script>
接受事件名称作为第一个参数
由于没有名为#rate
的事件,以下操作将不起作用
$(document).on('#rate', function() {
使用
on
应该采取事件,然后选择类似。on('keydown','#rate'
格式如下:
.on(事件[,选择器][,数据],处理程序)
是的
$(document).on('click', '#rate', function() {
^^^^^
alert();
});
有关$(文档)中的输入的详细信息。在('input',function(){
不是选择器
文档
是选择器
如果要侦听特定元素上的输入
事件,可以传递选择器作为:
或者,您可以在绑定回调之前选择特定元素:
$('#rate').on('input', function () {
...
});
您现在拥有的:
$(document).on('input', function() { } );
意味着
在任何元素的每个“输入”事件上,执行某些操作
如果只想对特定元素执行某些操作,请将此元素作为选择器传递:
$(document).on('input', "#rate", function() { } );
这里的input
是一个事件,#rate
是一个元素选择器。正确的方法是:
//on click
$(document).ready(function(){
$("#rate").click( function () {
alert('Awesome');
})});
用于输入框
<input type="text" style="width: 40px;" name="rate" id="rate" value="1" />
欲了解更多信息,请阅读:-
我发现,当我对jQuery函数为何不能正常工作感到困惑时,我希望查阅jQuery的API文档以了解用法和示例。具体来说,我将参考该函数的文档页面:
每个事件都会产生不同的期望结果。当输入发生更改时,您希望触发一些代码。使用的事件基于普通JavaScript事件,因此在这种情况下,您的选项包括打开更改,键向上
,或键向下
对于我来说,要决定使用哪一个事件,通常可以归结为一件事:在文本字段中显示输入之前,我的代码是否需要检查输入
您可以在这段代码中看到如何使用我提到的每个事件。
//更改时使用
//您会注意到,只有当光标离开输入字段时,才会“触发”
$(“#rate1”).on(“change”,function(){$(this.next().html("将代码包装在文档中。准备好处理程序。
上的什么?您附加的事件是什么?不要破坏您的帖子。这可能会导致问题禁止。请看,OP似乎应该继续使用输入事件,而不是键控
@zzzzBov可能,我只是展示了正确的语法。event名称可以更改。:@JherekCarnelian如果在加载页面后动态添加元素,则事件不会绑定,如果不绑定,则将代码包装到ready()
callback中。请参阅,我在这里也使用jQuery,如果要使用document,请将其放入$(document.ready)中(函数(){//put the code here});
$('#rate').on('input', function () {
...
});
$(document).on('input', function() { } );
$(document).on('input', "#rate", function() { } );
//on click
$(document).ready(function(){
$("#rate").click( function () {
alert('Awesome');
})});
<input type="text" style="width: 40px;" name="rate" id="rate" value="1" />
<input type="text" style="width: 40px;" name="rate" value="1" class="rate">
//on click
$(".rate").click( function () {
alert('Awesome');
})