xfei6868 2010-04-02 09:20
浏览 718
已采纳

jquery 中 $(document).ready 中function 能否传值

首先,说明一下,$(document).ready 中使用传值的function是没有问题的,但是这样做出了一个奇怪的问题,所以在这里贴出来,请高手解决一下。

为了能传入系统的路径,所以在我的exportTemplate.js 文件中定义了,一个总的方法是readyInit.然后我在自己的jsp文件中调用该方法如下:

[code="javascript"]

    <script type="text/javascript">
        $(document).ready(readyInit("<%=path %>"));     
    </script>

[/code]

这样就看似乎传的值 用alert也能打印,但是问题是在exportTemplate.js 有这样
var select2 = document.getElementById("select2");
通过document.getElementById()方法得到的值都是null。

不知道为何,于是自己修改为不传值的形式:
[code="javascript"]

    <script type="text/javascript">
        $(document).ready(readyInit);       
    </script>

[/code]

这样使用的话就没有这个问题了 document.getElementById()方法得到的值 都是正常的了。
但是感觉自己传值的问题还是没有解决,于是想请教!

另外奇怪的是,就算是不传值,自己如果写成:
[code="javascript"]

    <script type="text/javascript">
        $(document).ready(readyInit());     
    </script>

[/code]

就只是在方法的调用中写了一个()结果是:

通过document.getElementById()方法得到的还都是null。

不理解JavaScript关于这方面的机制,忘解答。

  • 写回答

4条回答 默认 最新

  • iteye_1059 2010-04-07 13:46
    关注

    详见jquery文档关于ready的说明:
    ready方法接收的参数是[color=red]一个函数的引用[/color]
    readyInit()是函数的调用,不是函数的引用

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 chaquopy python 安卓
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题