Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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 如何在jQuery代码之外执行JS函数_Javascript_Jquery - Fatal编程技术网

Javascript 如何在jQuery代码之外执行JS函数

Javascript 如何在jQuery代码之外执行JS函数,javascript,jquery,Javascript,Jquery,因此,我的问题是-如何在jQuery语句之外执行函数-在函数(id)所在的位置,而不是在jQuery代码中,例如在脚本的末尾。请看以下页面: 在“用法”下,你可以找到答案。简单地说,你不能这么做。或者更具体地说,如果试图访问jQuery代码中定义的任何内部变量,则可能无法获得所需的结果 您不能将自定义函数放在其他对象的上下文中,当然也不能使用自定义函数替换jQuery(或任何其他代码)中另一个函数的某些内部函数。首先,请注意,“jQuery代码”是JavaScript,因此,在语言语法方面,定义

因此,我的问题是-如何在jQuery语句之外执行函数-在函数(id)所在的位置,而不是在jQuery代码中,例如在脚本的末尾。

请看以下页面:


在“用法”下,你可以找到答案。简单地说,你不能这么做。或者更具体地说,如果试图访问jQuery代码中定义的任何内部变量,则可能无法获得所需的结果

您不能将自定义函数放在其他对象的上下文中,当然也不能使用自定义函数替换jQuery(或任何其他代码)中另一个函数的某些内部函数。

首先,请注意,“jQuery代码”是JavaScript,因此,在语言语法方面,定义或调用函数的方式没有区别

您的问题不是很清楚,但在一般意义上,如果您声明了一个“普通”JavaScript非jQuery函数:

$(function (){    
$( "#example").example({
select: function ( event, ui){
name(id);
}
)};
//now is started non jquery function
function name (id){
    document.getElementById(id);
}
});
那么你称之为:

function name(id){
   document.getElementById(id);
}
如果函数声明在全局范围内,则可以从代码中的任何位置调用
name()

因此,您可以从jQuery中调用它:

name("someid");
// or
name(id); // assuming id is defined somewhere
或者在您的问题中的示例中,这是一个代码片段,它本身不起作用,但可能是某种对象文字的结尾,要调用
name()
函数,您需要将单词
function
从它前面删除,如下所示:

$("selector").jQueryMethodOfSomeKind(function() {
   name("someid");
});
其中
id
需要在jQuery代码运行的范围内的某个地方定义。

这是错误的!!! 我不知道你的意思:

但请尝试更改代码的顺序:

这是您现在的代码

   //some jquery code  
   select: function ( event, ui){
      name(id)
   }
});
如果
select
方法立即触发,则
name
方法不会加载到内存中, 尝试:



您的问题不太清楚,并且代码有错误,什么是
select:{function(id)}
?是否要用自定义函数替换jQuery本机函数?这就是你想做的吗?另外,我还有第二条gideon评论——你的代码有语法错误,不清楚你在问什么。我不太确定我们能否回答你的问题,因为你的语法完全错误。也许你可以编辑和澄清一下?首先,您的jQuery在我看来不太合适(可能只是我),并且您的JavaScript函数没有函数名。看看。我的建议是去试试他们的一些自己尝试的例子。W3SChools并不是最正确的资源,但它对刚开始学习的初学者来说非常好。我写的是fast,是为了展示我的想法,而不是语法。这是我唯一的想法。不是替换,但我希望函数不在选择的位置:因为如果我按照您看到的那样做,我的代码不起作用,但我自己的函数在jQuery代码中。从我在您发布的代码中看到的情况来看,函数的调用
name()
在jQuery代码中,而不是在其声明中。所以要么我不明白,要么你不能正确解释你的问题是什么。也许换成波兰语会有帮助;)Muszęwywołaćfunkcję,takżeby sięona wykonała tam gdzie开玩笑
函数名()
。Wyobraźsobieże masz zmieniające siękarty。我是masz np。贾基戈·迪瓦。selectem,ustawiasz dla zmienej id,wartośćhrefa-czyli url。Potem masz funkcjęktóra obrabia tego diva-div sięzmienia po zmieniu karty(przypisana wcześniej wartośćhrefa do id)。我选择了我的名字,我的名字是“我爱你,我爱你”。我不知道我是谁,我不知道我叫什么名字,我叫什么名字,我叫什么名字,我叫什么名字,我叫什么名字,
select…
。Nawet zakladajac ze jest zdefiniowana,对nazwa“id”jest tak popularna,ze Prawdoponie jest gdzies przedefiniowana w kodzie samego jQuery。我是斯普拉德兹·科莫尼卡特·多斯塔耶兹(Rozzzerzenie do firefoxa)。为了pomoze zdiagnozowac“o co kaman”,所以我必须编写自己的插件?这是唯一的解决方案吗?我认为你正在编写自己的jQuery插件。。。那么你在做什么呢?你更新了你的源代码示例,但是下面的注释不合适。是的,但是如果我这样做,我的代码就不能正常工作。您可以看到,我有一个
select:
,所以我使用它来选择项目-在本例中是url(用简单的语言,如果我选择了sth(href),然后用我的函数运行代码(id是div的id)。这一部分很关键“id需要在jQuery代码运行的范围内的某个地方定义”。我还要补充一点,该id可以定义为全局变量,并且它可以工作(前提是从代码运行到窗口对象的任何作用域中都没有变量
id
。@WTK-全局变量计为“作用域中的某个地方”.但我仍然不清楚加布里埃尔在问什么,即使现在问题中的代码已经更新-
id
在我们展示的代码中根本没有定义,但除此之外,我没有发现加布里埃尔发布的代码有任何错误,除了额外的
})最后…同意,他的问题不清楚,毫无疑问:)那是不正确的。在JavaScript中,函数声明被“提升”,也就是说,它们被视为发生在其包含范围的开头,因此答案中的两个版本是等效的。哇,我不知道。。也许是因为我总是声明变量。谢谢,是的。如果将函数声明为
var func=function()。
$(function (){    
    $( "#example").example({
        select: function ( event, ui){
            name(id);
        }
    });

    function name (id){
        document.getElementById(id);
    }
});
$(function (){    
    function name (id){
        document.getElementById(id);
    }

    $( "#example").example({
        select: function ( event, ui){
            name(id);
        }
    });
});