Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在$(document.ready()中绑定;不起作用_Javascript_Jquery_Html_Binding - Fatal编程技术网

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) { ... });