0

textbox#search_textが1つあります。キーアップ時に、1つのdiv#sresult_containerを作成し、いくつかのdivをdiv#sresult_containerに追加します。このコンテナがキャンバスに表示されるときに、クリックイベントとマウスオーバーイベントをdiv#sresult_containerにバインドしようとしています。次のコードを試しましたが、うまくいきません。どうすればよいですか?

$("#search_text").keyup(function(e) {
    if (e.which != 40 && e.which != 38) {
        $("#search").removeAttr('disabled');
        $.post('http://www.allinone.com', {
            Search: sVal
        }, function(data) {
            $sresult_container = $('<div id="sresult_container"></div>');
            //somecode which create another divs and append to the $sresult_container
        })
    }

    $('#sresult_container').bind({
        click: function(e) {
            //some code  
            },
            mouseover: function(e) {
                //some code
            }
        });
    });
4

2 に答える 2

2
$('#someParent').on('click', '.someChildSelector', function(e){
});

指定された(つまり)セレクターに一致するclickまでバブルアップするイベントをリッスンします。#someParent.someChildSelector

したがって、追加した子要素から発生するイベントは、上記のハンドラーによってキャッチされます。

于 2012-08-27T06:00:40.140 に答える
-2

このタスクは「ライブ」機能で実行できます。

$('#sresult_container').live('click', function() {
    alert('hello from binded function call');
});
于 2012-08-27T07:43:21.090 に答える