【问题标题】:event does not work after append using document .on change使用 document .on 更改追加后,事件不起作用
【发布时间】:2013-09-04 07:22:24
【问题描述】:

我无法获得触发警报,不确定我做错了什么。 我正在尝试在追加后绑定事件 但由于某种原因,我无法看到警报框触发的消息。

    <!DOCTYPE html>
<html>
<head>
  <title>mytitle</title>

  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {

            $('body').append('<div id="testdiv2"></div>');

            $('document').on("change", '#testdiv2', function () {
                alert("hello");
            });
        });
    </script>

</head>

<body>
</body>
</html>

感谢您的回复。 例如,我正在尝试做的是在创建 div 之后引用它。 假设我想附加一个 div,然后将内容加载到其中。然后当它完成后删除它的所有标签。所以像这样。

$(document).ready(function () {

        $('body').append('<div id="testdiv2"></div>').load('HtmlPage2.html #testdiv');

        $('testdiv2 label').remove()
    });
</script>

我将如何完成这样的事情?

【问题讨论】:

  • 你能根据你要问的问题创建一个 jsfiddle 吗?

标签: jquery


【解决方案1】:

change 事件仅由其值更改的输入元素触发。 &lt;div&gt; 本身无法触发它。

参考:

change 事件在其值更改时发送到元素。这个 事件仅限于&lt;input&gt; 元素、&lt;textarea&gt; 框和&lt;select&gt; 元素。

【讨论】:

    【解决方案2】:

    它的document 不是'document'

            $(document).on("change", '#testdiv2', function () {
                alert("hello");
            });
    

    $('document') 尝试在您的文档中查找 &lt;document&gt; 标记。

    div 也没有变化事件

    并且您不需要将$(document).on 放在$(document).ready 中,因为该文档已经可用。

    【讨论】:

      猜你喜欢
      • 2014-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-14
      • 2022-09-23
      相关资源
      最近更新 更多