如何动态调用任何js函数

how to invoke dynamically any js function

本文关键字:调用 任何 js 函数 动态 何动态      更新时间:2023-09-26

一个网页正在客户端运行,页面中有div通过ajax fn()动态改变它的innerHTML,但我得到jQuery fn()没有运行的问题。

假设这是正在运行的网页

<html> <head>
 <script type="text/javascript" src="jquery-1.6.2.min.js"> </script>
 <script type="text/javascript" src="jquery-ui.min.1.8.11.js"> </script>
</head> <body>
    <div id = "dynamic"> </div>
    <input type = "button" id="click" />
 <script type="text/javascript">
   $("#click").click(function(){
        // send request to server via ajax (xmlHttprequest )
        // get html contents as responseText 
    $("#dynamic").html(responseText);
       });
 </script>    
</body>  </html>

正如您在上面给出的示例中看到的那样,如果客户端单击按钮,则向服务器发送请求,并将innerHTML作为responseText放入dynamic div

*responseText as innerHTML working: * css属性被加载并工作

<div id="myDiv"> </div>
<style type="text/css">
  #myDiv { width: 100%; height:100%; background: blue; }
</style>

innerHTML不工作: css属性不工作,如果我使用jQuery加载css文件

<div id="myDiv"> </div>
<script type="text/javascript">
   $(document).ready(function(){
     $("head").append($("<link rel='stylesheet' href='test.css' type='text/css' />"));
       });
</script>

test.css在服务器(css属性定义在外部文件)

#myDiv { width: 100%; height:100%; background: blue; }

如果函数位于全局空间

window["functionName"]();

如果有命名空间,那么

myNameSpace["functionName"]();

如果你想动态地添加一个样式表到DOM,那么试试这个:

$.get('test.css', function(responseCSS)
{
   $('<style type="text/css"></style>').html(responseCSS).appendTo("head");
});