设置动态列表项的单击功能(使用Knockout.js)

时间:2012-11-29 17:51:03

标签: jquery knockout.js click

我正在使用Knockout.js将项目添加到下拉列表中的未排序列表中。我想捕获这些列表项的点击,但我不知道该怎么做。

我认为现在这个列表被一个机构点击(它隐藏了所有下拉列表)所取消,但是在点击上添加e.stopPropagation()甚至似乎没有用。

下面是以下代码的片段(为了便于阅读而间隔......但是这样做无效),您可以看到搜索栏的运行情况(完整代码) HERE

$("#dropdown").append("
   <ul id='list' data-bind=\"template: { 
         name:'obj', foreach:objects }, 
         click: function() {
               $('.listObjItem').on('click', function() {   
                     // CAPTURE THE CLICK (not working)          
                     alert($('#search').val($(this).text())); 
         });}
   \">
   </ul>");

$("#searchContainer").append(
      "<script type='text/html' id='obj'>
             <li class='listObjItem'>
                    <span data-bind='text: name'></span>&nbsp;in&nbsp;
                    <strong data-bind='text: type'></strong>
             </li>
       </script>");

1 个答案:

答案 0 :(得分:0)

尝试委派活动 ..

而不是

$('.listObjItem').on('click', function() {

这样做

$('body').on('click','.listObjItem' , function() { 

'body'可以替换为任何静态父容器..