【问题标题】:Generated Javascript Does not execute生成的 Javascript 不执行
【发布时间】:2009-05-18 13:47:41
【问题描述】:

我正忙着编写一个简单的 Adob​​e Air 应用程序,它使用 HTML、jQuery 和一些 jQuery 插件来加载 RSS 提要。

我遇到的问题是我正在生成一段 HTML 组件(按钮),以便我可以在单击按钮时执行特定代码。但是当页面显示时,按钮永远不会执行;我尝试过使用内置的日志功能以及警报,但它们都没有执行。奇怪的是,当我将 HTML 组件复制到未生成的页面部分时,它执行得很好。

我使用 jQuery 将以下内容插入到 div 中,但它没有执行。

'<input type="button" onclick="LoadPage()" value="Test" />' 

如果我只是将它插入到 HTML 中,它就可以正常工作。
我正在使用 jQuery 的 1.3.2 版本;我也在使用this plugin将数据加载到一个div中,并且我已经修改了第82行以包含上面的html组件。

我应该注意,当我使用 AIR 的内省检查页面时,HTML 是有效的。

可能出了什么问题?

【问题讨论】:

    标签: javascript jquery html air


    【解决方案1】:

    我没有看到问题。以下对我来说很好:

    $(document).ready(function() {
      $('#mainDiv').html('<input type="button" onclick="LoadPage()" value="Test" />');
    });
    
    function LoadPage()
    {
      alert("Hello");
    }
    

    【讨论】:

    • 嗨,该组件被添加到 rss 插件中(我的措辞含糊不清),我认为问题在于它在插件中生成 html 的方式
    【解决方案2】:

    如果你想使用 jquery 来处理点击,你可以使用live 事件。

    前段时间我也遇到过这个问题,现在解决了。

    如果你给你的按钮一个 id 看起来像这样:

    $("#YourButtonId").live("click", function (){....
    

    【讨论】:

      【解决方案3】:

      在使用 'onClick' 而不是 'onclick' 时遇到同样的问题? 还要检查函数是否被称为“Loadpage”而不是“LoadPage”。

      我在javascript中有时会遇到区分大小写的问题,不确定是不是区分大小写的函数。

      【讨论】:

        猜你喜欢
        • 2017-01-15
        • 2022-06-22
        • 2023-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-11
        • 2018-07-19
        相关资源
        最近更新 更多