Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态添加对象的jQuery Eventhandler_Javascript_Jquery_Event Handling - Fatal编程技术网

Javascript 动态添加对象的jQuery Eventhandler

Javascript 动态添加对象的jQuery Eventhandler,javascript,jquery,event-handling,Javascript,Jquery,Event Handling,我在jQuery中动态添加DOM对象时遇到问题。首先,我用这个: var $input = $('#search-input'); var $usersList = $('#ulist'); $input.on('input', function () { $.ajax({ type: 'get', url: '/userlist', data: {query: $input.val()},

我在jQuery中动态添加DOM对象时遇到问题。首先,我用这个:

var $input = $('#search-input');
var $usersList = $('#ulist');

       $input.on('input', function () {
        $.ajax({
            type: 'get',
            url: '/userlist',
            data: {query: $input.val()},
            success: function (response) {

                var json = JSON.parse(response);
                $usersList.empty();
                $.each(json, function (index, val) {
                    $usersList.append("<div id=\"listelem\"><a href=\"#\">" + val + "</a></div>");  

                });
            }
        });
    });



 <div id="ulist"></div>
 <input id="search-input" type="text">
当我单击div时,我得到了正确的警报,但现在我不知道如何从该元素内部获取数据。

试试这个

$(document).on('click','#listelem', function(event) {
   alert($(event.target).text());
 });

我不知道正确的工程设计,但我在开发一些需求时处理过类似的问题。基本上正如我所理解的,你想找出事件的目标并从那里拖出一个值?如果是这样,您可以这样做:

jQuery(document).on('click', '#listelem', function(event){
var x = event.target.val();// event.target.value; depending on your situation and availability of the method.
});

希望这有帮助

谢谢你的帮助。对我来说,正确的选择是打电话


var mem=event.target.innerText

您可以使用常规javascript实现这一点,而不需要Jquery

  document.addEventListener("click", function(e) {
    if(e.target) {
     console.log("item clicked ", e.target.textContent);
  }
});

这将完成获取当前目标值的任务

抱歉,但我在你的评论中看不到对我有帮助的东西,当我单击第一个div时,我想从中获取值“1”,如果我单击下一个div,我希望它能通过我的“2”值,希望现在清楚谢谢你的回复,我测试了它,但我无法到达目标。val()好像是我的比赛。目标不能那样通过我。
  document.addEventListener("click", function(e) {
    if(e.target) {
     console.log("item clicked ", e.target.textContent);
  }
});