Javascript 如何调用嵌入HTML元素的脚本
具有以下Javascript 如何调用嵌入HTML元素的脚本,javascript,html,dom,Javascript,Html,Dom,具有以下html: <div id="plugin"> <script> (function(){ this.do = function(e){ alert("cool!"); }; }); <script> <div> 然后从外部: $("#plugin").do(); 有什么问题吗?你不能。外部函数表达式不会在任何地方调用或赋值,因此它将被丢弃,而不会对内部函数表达式求值 如果要将函数绑
html
:
<div id="plugin">
<script>
(function(){
this.do = function(e){
alert("cool!");
};
});
<script>
<div>
然后从外部:
$("#plugin").do();
有什么问题吗?你不能。外部函数表达式不会在任何地方调用或赋值,因此它将被丢弃,而不会对内部函数表达式求值
如果要将函数绑定到某个位置,请对要将其分配给的元素调用
addEventListener
,并将其作为第二个参数传递。您不能。外部函数表达式不会在任何地方调用或赋值,因此它将被丢弃,而不会对内部函数表达式求值
如果要将函数绑定到某个位置,请对要将其分配给的元素调用
addEventListener
,并将其作为第二个参数传递。您不能。外部函数表达式不会在任何地方调用或赋值,因此它将被丢弃,而不会对内部函数表达式求值
如果要将函数绑定到某个位置,请对要将其分配给的元素调用
addEventListener
,并将其作为第二个参数传递。您不能。外部函数表达式不会在任何地方调用或赋值,因此它将被丢弃,而不会对内部函数表达式求值
如果要将函数绑定到某个位置,请对要将其分配给的元素调用
addEventListener
,并将其作为第二个参数传递。这看起来是不可能的,因为包装器函数没有名称,也不会自动执行。所以代码永远不会运行。如果它将运行,则全局函数中的this
关键字将引用窗口
对象,并且内部函数将全局可用
(function(){
this.do = function(e){
alert("cool!");
};
})(); // <-- additional parentheses to self-execute the wrapper function
window.do === do; // true
// use
do();
// or
window.do();
// to call the inner function
这看起来是不可能的,因为包装器函数没有名称,并且不会自动执行。所以代码永远不会运行。如果它将运行,则全局函数中的
this
关键字将引用窗口
对象,并且内部函数将全局可用
(function(){
this.do = function(e){
alert("cool!");
};
})(); // <-- additional parentheses to self-execute the wrapper function
window.do === do; // true
// use
do();
// or
window.do();
// to call the inner function
这看起来是不可能的,因为包装器函数没有名称,并且不会自动执行。所以代码永远不会运行。如果它将运行,则全局函数中的
this
关键字将引用窗口
对象,并且内部函数将全局可用
(function(){
this.do = function(e){
alert("cool!");
};
})(); // <-- additional parentheses to self-execute the wrapper function
window.do === do; // true
// use
do();
// or
window.do();
// to call the inner function
这看起来是不可能的,因为包装器函数没有名称,并且不会自动执行。所以代码永远不会运行。如果它将运行,则全局函数中的
this
关键字将引用窗口
对象,并且内部函数将全局可用
(function(){
this.do = function(e){
alert("cool!");
};
})(); // <-- additional parentheses to self-execute the wrapper function
window.do === do; // true
// use
do();
// or
window.do();
// to call the inner function
你为什么反对这样做
<script>
function do(){
alert('cool!');
}
<script>
你为什么反对这样做
<script>
function do(){
alert('cool!');
}
<script>
你为什么反对这样做
<script>
function do(){
alert('cool!');
}
<script>
你为什么反对这样做
<script>
function do(){
alert('cool!');
}
<script>
我可以通过使用$(“#plugin”).do=function(){}来降低插件本身的作用域吗?当然我应该能够在它之后调用$(“#plugin”).fo吗?现在你想向jQuery添加一个可以在任何jQuery对象上执行的函数-你完全改变了你试图做的事情,我将为您提供一个解决方案您知道您可以链接Jquery函数吗。hasClass().css().removeClass()-这是因为所有这些函数都期望并返回相同的内容。你应该在谷歌上为jQuery插件添加功能——这可能是一个更合适的答案。它不是一个jQuery插件,它是一个概念上的插件,它独立存在,但可以加载和操作……听起来像。。。在这里,这取决于jQuery,因此我称之为jQuery插件,我认为谷歌可以帮助我通过使用$(“#plugin”).do=function(){}来降低插件本身的范围。当然,我应该能够在它之后调用$(“#plugin”).fo?现在你想给jQuery添加一个函数,这可以在任何jQuery对象上执行-您完全改变了您试图执行的操作,我将为您提供一个解决方案您知道您可以链接jQuery函数吗。hasClass().css().removeClass()-这是因为所有这些函数都期望并返回相同的内容。你应该在谷歌上为jQuery插件添加功能——这可能是一个更合适的答案。它不是一个jQuery插件,它是一个概念上的插件,它独立存在,但可以加载和操作……听起来像。。。在这里,这取决于jQuery,因此我称之为jQuery插件,我认为谷歌可以帮助我通过使用$(“#plugin”).do=function(){}来降低插件本身的范围。当然,我应该能够在它之后调用$(“#plugin”).fo?现在你想给jQuery添加一个函数,这可以在任何jQuery对象上执行-您完全改变了您试图执行的操作,我将为您提供一个解决方案您知道您可以链接jQuery函数吗。hasClass().css().removeClass()-这是因为所有这些函数都期望并返回相同的内容。你应该在谷歌上为jQuery插件添加功能——这可能是一个更合适的答案。它不是一个jQuery插件,它是一个概念上的插件,它独立存在,但可以加载和操作……听起来像。。。在这里,这取决于jQuery,因此我称之为jQuery插件,我认为谷歌可以帮助我通过使用$(“#plugin”).do=function(){}来降低插件本身的范围。当然,我应该能够在它之后调用$(“#plugin”).fo?现在你想给jQuery添加一个函数,这可以在任何jQuery对象上执行-您完全改变了您试图执行的操作,我将为您提供一个解决方案您知道您可以链接jQuery函数吗。hasClass().css().removeClass()-这是因为所有这些函数都期望并返回相同的内容。你应该在谷歌上为jQuery插件添加功能——这可能是一个更合适的答案。它不是一个jQuery插件,而是一个概念上的插件,一个独立存在但可以加载的插件