这里发生了很多问题,我找到了一种方法来使它们“经过验证”,但是,这安全吗?如果不行你能帮我改正吗?
$('document').ready(function{
var $demo = $('demo');
$demo.onclick(function runAlpha(){
//do something with alpha
});
$demo.onclick(function runBeta() {
//do something with beta
});
});
function runAlpha(){}
function runBeta(){}
jquery 之外的函数留空为 null,并且 javascript 会识别它的定义。但有没有办法让它更有效呢?如果我在 javascript 部分添加任何内容,是否会导致代码冲突?还是会添加进去?
最佳答案
对你想要做什么有点困惑。编写 jQuery 的常用方法是使用匿名函数,如下所示:
$('document').ready(function{
var $demo = $('demo');
$demo.on("click", function() {
//do something with alpha
});
$demo.on("click", function() {
//do something with beta
});
});
如果你想要命名函数,你可能会这样做:
$('document').ready(function{
var $demo = $('demo');
$demo.on("click", runAlpha);
$demo.on("click", runBeta);
function runAlpha(){
//do something with alpha
}
function runBeta(){
//do something with beta
}
});
听起来您希望能够在 $(document).ready
部分之外调用 runAlpha 或 runBeta 。我通常这样做的方式是:
$('demo').trigger("click");
如果你想直接调用函数,请将函数定义移到闭包之外:
$('document').ready(function{
var $demo = $('demo');
$demo.on("click", function() {
//do something with alpha
});
$demo.on("click", function() {
//do something with beta
});
});
function runAlpha(){
//do something with alpha
}
function runBeta(){
//do something with beta
}
我个人会采用第一种方式,因为我不喜欢“污染”全局命名空间,但这确实是您的决定。
关于javascript - 如何在使用 jQuery 时使 Javascript 函数为 "defined"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36944640/