JQuery的JavaScript的追加 [英] JQuery Append javascript

查看:112
本文介绍了JQuery的JavaScript的追加的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试创建模块化的应用程序,所以每个页面都包含自己的HTML和JavaScript code。
我应该动态地加载所有code,如:

I try to create modular application, so each page have contains own html and javascript code. I supposed to load all code dynamically like:

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>');

不过,这并不工作 - 错误:不定义OCL。可能是什么原因?如果我理解中的每个网页,正确的是包含所有JavaScript函数对象 - 那么为什么不能添加或删除从功能/

But it doesn't work -Error: ocl is not defined. What can be the reason? If I understand correct in each webpage is an object that contains all javascript functions - so why not possible add or remove function to/from ?

推荐答案

如果您想加载JS文件的动态,你可以尝试如下:

If you'd like to load js file dynamically, you can try as the following:

下面是HTML页面code:

Here is the HTML page code:

 <!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>

下面是js文件:

function test() {
    window.alert("HELLO");
}

我测试了code IE 9.根据仅供参考

I tested the code under IE 9. Just FYI

这篇关于JQuery的JavaScript的追加的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆