替换后的Dom-ready事件

时间:2015-07-28 19:48:47

标签: javascript jquery html dom

  1. 我通过用.replaceWith()textareas方法替换一些divs来将JQuery添加到html页面。

  2. 我想将textareas自动增长作为用户类型。

  3. 问题是我使用的自动增长库仅适用于dom-ready,因此我无法将我的自动增长库应用于我的textareas,因为它们是动态生成的。

    我的divstextareas替换后可用于应用我的自动增长库,是否有任何类型的事件?

3 个答案:

答案 0 :(得分:2)

您可以使用JQuery change()

这样,当用户输入内容时,您可以调用自动增长库。

$("textarea").change(function(){
    //Your code here
})

答案 1 :(得分:2)

您必须使用事件处理程序来捕获textareas的更改(即使它们是动态生成的),例如

jQuery(function($){
    // dom ready
    $("body").on("input propertychange","textarea",function(event) {
        // here goes your autogrow code
    });
});

JSFiddle

中查看行动

或在这里



jQuery(function($) {
  // dom ready
  $("body").on("input propertychange", "textarea", function(event) {
    // here goes your autogrow code
    alert("changed");
  });

  $("#addTextArea").click(function(ev) {
    $("#textareas").append("<br/><textarea></textarea>");
  });

});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="textareas">
  <textarea></textarea>
</div>
<button id="addTextArea">Add textarea</button>
&#13;
&#13;
&#13;

答案 2 :(得分:1)

您可以使用$.holdReady(),然后在所有DIV更改为textareas后释放ready函数。

//code to prevent .ready() from firing
$.holdReady( true );

//code that releases (essentially triggers) .ready()
//use this in the callback function once your conversion 
//from DIVs to textareas completes
$.holdReady( false );



JSFiddle DEMO

jQuery.holdReady() reference