Javascript 无法在JS文件中调用click事件

Javascript 无法在JS文件中调用click事件,javascript,jquery,html,Javascript,Jquery,Html,以下是html代码: <input type="button" id="abc" name="TechSupport_PartsOrder" value="Open Editor" /> 现在,当我把上面的JQuery代码放到JS文件中时,它不起作用,而当我把同样的代码放到页面中时,它可以正常工作。为什么会这样我不知道 如果我像这样调用函数onclick of button: <input type="button" id="abc" name="TechSupport_

以下是html代码:

 <input type="button" id="abc" name="TechSupport_PartsOrder" value="Open Editor" />

现在,当我把上面的JQuery代码放到JS文件中时,它不起作用,而当我把同样的代码放到页面中时,它可以正常工作。为什么会这样我不知道

如果我像这样调用函数onclick of button:

 <input type="button" id="abc" name="TechSupport_PartsOrder" onclick="abc()" value="Open Editor" />

它工作得很好。

将代码包装在
ready
处理程序中:

$(function() {
    $('#abc').click(function() {
        alert('clicked');
    });
});

将代码包装在
ready
处理程序中:

$(function() {
    $('#abc').click(function() {
        alert('clicked');
    });
});

下面的问题解决了吗

$(function(){
  $('#abc').click(function () {
    alert('x');
  });  
})

在将“#abc”添加到DOM之前,您的代码可能会被调用

以下操作是否解决了问题

$(function(){
  $('#abc').click(function () {
    alert('x');
  });  
})

在将“#abc”添加到DOM之前,可能会调用您的代码

是否确保在加载DOM后定义事件处理程序?这就是为什么jquery建议将所有代码放入

$(document).ready(function(){  
  //XXX code goes here
});

在将元素加载到DOM中之前,可能会尝试分配事件处理程序

是否确保在加载DOM后定义事件处理程序?这就是为什么jquery建议将所有代码放入

$(document).ready(function(){  
  //XXX code goes here
});

在将元素加载到DOM中之前,可能会尝试分配事件处理程序

“现在,当我将上述JQuery代码放入JS文件时,它不起作用”。那么控制台中会出现什么错误呢?“现在,当我将上面的JQuery代码放入JS文件时,它不起作用”。那么,你在控制台中遇到了什么错误呢?它本质上与使用window相同。OnLoad它本质上与使用window相同。OnLoad不就是把它包装在一个匿名函数中吗?@thescientist:是的,但是它将它作为一个参数传递给
$
函数,加载DOM后将调用传递的函数。非常酷。很高兴知道。因此,使用这种语法有点像向队列中添加事件,这些事件将在DOM加载时执行(就绪)?@科学家:是的
$(someFunction)
$(document)相同。。。我明白你的意思。凉的你是怎么发现的?它是在文档中,还是只是摆弄?这不是在一个匿名函数中包装它吗?@thescientist:是的,但它将它作为参数传递给
$
函数,一旦加载DOM,该函数将调用传递的函数。非常酷。很高兴知道。因此,使用这种语法有点像向队列中添加事件,这些事件将在DOM加载时执行(就绪)?@科学家:是的
$(someFunction)
$(document)相同。。。我明白你的意思。凉的你是怎么发现的?它是在文档中,还是只是摆弄?