Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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/83.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
JQuery附加javascript_Javascript_Jquery_Function_Append - Fatal编程技术网

JQuery附加javascript

JQuery附加javascript,javascript,jquery,function,append,Javascript,Jquery,Function,Append,我尝试创建模块化应用程序,因此每个页面都包含自己的html和javascript代码。 我应该动态加载所有代码,如: var s = document.createElement("script"); s.type = "text/javascript"; s.src='function oncl() { alert("click");}'; $(".selector").append(s); $( ".selector" ). append('<input type="button"

我尝试创建模块化应用程序,因此每个页面都包含自己的html和javascript代码。 我应该动态加载所有代码,如:

var s = document.createElement("script");
s.type = "text/javascript";
s.src='function oncl() { alert("click");}';
$(".selector").append(s);

$( ".selector" ).
append('<input type="button" onclick="ocl();" />
<form action="../test/test_upload4.php"  
method="POST" enctype="multipart/form-data"  name="getnamefile">
<input type="file" id="uploadfile" name="uploadfile">
<input type="submit" id="Submit" name= "Submit" value="Upload"></form>');
var s=document.createElement(“脚本”);
s、 type=“text/javascript”;
s、 src='function oncl(){alert(“click”);};
$(“.selector”).append(s);
$(“.selector”)。
附加('
');

但它不起作用-错误:ocl没有定义。原因可能是什么?如果我理解每个网页中的correct是一个包含所有javascript函数的对象,那么为什么不可能将函数添加到或从中删除?

标记的
src
属性指定外部javascript文件的URL,而不是脚本的文本

如果要执行任意字符串中的代码,可以调用
eval
函数。

但是,不要在代码中,您声明了一个名为oncl的函数,并尝试调用ocl(缺少一个n

问候,


Max

除了上面的答案,您还没有定义任何“ocl”函数,还有“oncl”。

如果您想动态加载js文件,您可以尝试以下操作:

以下是HTML页面代码:

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

    <html>
    <head>
    <script type="text/javascript">
        function dynamicLoad() {
            var s = document.createElement("script");
            s.type="text/javascript";
            s.language="javascript";
            // Here goes your 
            s.src ="dynamic.js";
            document.getElementsByTagName("head")[0].appendChild(s);
            s.onreadystatechange = function() {
                //window.alert(s.readyState);
            }
            s.onload= function() {
                if (s.readyState == "complete") {
 // You must create your DOM element after the js file has been loaded
                    var btn = document.createElement("input");
                    btn.type="button";
                    btn.value="Click Me";
                    btn.onclick = test;
                    document.getElementsByTagName("body")[0].appendChild(btn);
                }
            }
        }
    </script>
    </head>
    <body onload="dynamicLoad()">
        <!-- a href="javascript:void(0)" onclick="test()">Click Me</a -->
    </body>
    </html>

我在IE9下测试了代码。仅供参考

你为什么需要这种黑客?您在html中使用jQuery和onclick?这是一个可怕的想法。你为什么要这样做?我正在开发的web应用程序很复杂。它就像CRM。它包含近100页。因此,我需要分离到独立的页面-并行工作。如果每个模块都有自己的javascript,htmlYou可以在使用jquery click或bind方法附加标记后设置事件处理程序,这似乎很方便。看看SLaks answer(并考虑其他贡献者的评论,也许你可以找到另一种方法来做你想做的事情)
function test() {
    window.alert("HELLO");
}