我正在使用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> in
<strong data-bind='text: type'></strong>
</li>
</script>");
答案 0 :(得分:0)
尝试委派活动 ..
而不是
$('.listObjItem').on('click', function() {
这样做
$('body').on('click','.listObjItem' , function() {
'body'
可以替换为任何静态父容器..