web-dev-qa-db-ja.com

動的要素のjQuery1.7 on()およびoff()メソッド

jQuery1.7の.on()および.off()メソッドは、.live()などを置き換えることになっています。

私は動的なアイテムでそれを試しました:

_ $(".myList").on('click', function(e){
  alert('hello world');
 });
_

これは、DOMのロード後に追加された要素では機能しません。

上記のコードは、jQuery1.7の.on()および.off()メソッドの有効な例ですか?

21
David

Live()-> on/off()(およびその他の)の例については、 http://blog.jquery.com/2011/11/03/jquery-1-7-released/ を参照してください。

これは、ライブをオンに変換するための例です。

$('a').live('click', fn);
$(document).on('click', 'a', fn);

したがって、あなたの例は次のようになります。

$(document).on('click', '.myList', function(e){
  alert('hello world');
});
33
biziclop

ここに小さな例があります:

http://jsfiddle.net/zzSjK/

<script type="text/javascript">
    $(function(){
        $(document).on('click','.clickme' , function(e){
          addtext()
        });
        function addtext() {
            $('.myList').append('<div class="clickme">click me</div>')
        }
    })
</script>

<div class="myList">
    <div class="clickme">-click-</div>
</div>
4
enloz

「バインド」:

$(document).on('click','.myDiv',function(){ ... });

そして、次のように「バインド解除」します。

$(document).off('click','.myDiv');
2
Andri