Javascript 在$(document.ready()中绑定;不起作用
我需要在执行搜索时调用一个函数。搜索基于输入字段,不必集成到表单中。我只需要搜索字段的值 由于我需要框架的一些功能—这是处理标记文件—我必须将绑定放在现有的Javascript 在$(document.ready()中绑定;不起作用,javascript,jquery,html,binding,Javascript,Jquery,Html,Binding,我需要在执行搜索时调用一个函数。搜索基于输入字段,不必集成到表单中。我只需要搜索字段的值 由于我需要框架的一些功能—这是处理标记文件—我必须将绑定放在现有的$(document).ready()中零件 我努力让它工作 文件准备部分与我的绑定 同一html页面中的Searchfield 但是,当我在搜索字段中输入一个字符串并按enter键或单击按钮时,控制台中不会显示任何内容 我也试着绑定提交,但这也不起作用。此外,表格不应在最后提交,因为我必须避免重新加载。这就是为什么我在表单标记中有onsub
$(document).ready()中代码>零件
我努力让它工作
文件准备部分与我的绑定
同一html页面中的Searchfield
但是,当我在搜索字段中输入一个字符串并按enter键或单击按钮时,控制台中不会显示任何内容
我也试着绑定提交,但这也不起作用。此外,表格不应在最后提交,因为我必须避免重新加载。这就是为什么我在表单标记中有onsubmit=“return false”
当搜索字段已填充且用户点击enter或单击按钮时,如何使绑定工作?您可以使用
$(function(){
console.log("Document is ready");
});
在JQuery中,在文档准备就绪后执行任何代码
在HTML中,请小心关闭标记。您可以使用
$(function(){
console.log("Document is ready");
});
在JQuery中,在文档准备就绪后执行任何代码
在HTML中,请注意关闭标记。如果在尝试绑定时,搜索表单
不是页面,jQuery将找不到元素,因此它没有可绑定事件处理程序的元素
在这种情况下,委派事件处理程序可能是合适的,因为事件处理程序将绑定到已知已存在的元素。一种常用的方法是将事件处理程序绑定到document
或document.body
e、 g
为了说明区别:
$(函数(){
//这将无法运行,因为#foo还不在DOM中
$('#foo')。在('click',function()上{
console.log('First!');
});
//可以使用“#container”或document.body或任何其他
//这里的已知元素
$(文档)。在('click','#foo',函数()上{
console.log('Second!');
});
//在1秒后添加#foo以模拟稍后注入的内容
setTimeout(函数(){
$(“#容器”).append('Click me');
}, 1000);
});代码>
如果当您尝试绑定doit时,搜索表单
不是页面,jQuery将找不到元素,因此它没有要绑定事件处理程序的元素
在这种情况下,委派事件处理程序可能是合适的,因为事件处理程序将绑定到已知已存在的元素。一种常用的方法是将事件处理程序绑定到document
或document.body
e、 g
为了说明区别:
$(函数(){
//这将无法运行,因为#foo还不在DOM中
$('#foo')。在('click',function()上{
console.log('First!');
});
//可以使用“#container”或document.body或任何其他
//这里的已知元素
$(文档)。在('click','#foo',函数()上{
console.log('Second!');
});
//在1秒后添加#foo以模拟稍后注入的内容
setTimeout(函数(){
$(“#容器”).append('Click me');
}, 1000);
});代码>
当您尝试绑定时,搜索表单是否在页面中?如果不是,委托事件处理程序可能是合适的。e、 g.$(文档).on('click','#subsearch',函数(e){…})代码>我不确定,因为我现在不想弄清楚:当searchform可用时。“确定”将尝试委托事件处理程序。@Teemu$(窗口)。bind()
由框架使用,并且它们使用的不是jQuery 3.0,所以这很好。我在文档中也看到了这一点。@Dymos与代表配合得很好。如果你写一个答案,我可以接受。当你尝试绑定时,页面中是否有搜索表单?如果不是,委托事件处理程序可能是合适的。e、 g.$(文档).on('click','#subsearch',函数(e){…})代码>我不确定,因为我现在不想弄清楚:当searchform可用时。“确定”将尝试委托事件处理程序。@Teemu$(窗口)。bind()
由框架使用,并且它们使用的不是jQuery 3.0,所以这很好。我在文档中也看到了这一点。@Dymos与代表配合得很好。如果你写一个答案,我可以接受。更正标签。只是在列表中出现了错误。在页面上它本身是正确的,但我似乎有一个图标问题..更正了标签。只是在列表中出现了错误。在页面上,它本身是正确的,但我似乎对图标有问题。。
:: Before binding
:: After binding
$(function(){
console.log("Document is ready");
});
$(document).on('click', '#subsearch', function(e) { ... });