在单击动态内容时调用函数

时间:2014-04-10 08:53:08

标签: jquery html angularjs

嗨,我是棱角分明的新手

我的要求是:

我有ulli。点击li元素后,我必须填充另一个ul作为父li的子项。我成功地将ul添加到li但是当我点击新的ul->li时,会调用父ul的功能。我试图添加$ event.preventDefault()但仍然无法正常工作。我正朝着正确的方向前进吗?

HTML:

<ul class="navigation" ng-repeat='category in fullTree.category[0]' ng-click='dropmenu(category.category_id,category.level,category.has_child_category,$event)'>
    <li>
        <p>{{category.category_name}} <i class="ion-chevron-down" ></i></p>
    </li>
</ul>

控制器:

$scope.dropmenu = function (category_id, level, has_child_category, $event) { 
    $.each(somearray[level], function (index, item) {
        $($event.target).append("<ul class='navigation'><li ng-click='dropmenu("+item.category_id+","+item.level+","+item.has_child_category+",$event);$event.preventDefault()'><p>"+item.category_name+"<i class='ion-chevron-down' ></i></p>"+item.name+"</li></ul>")
    }
}

提前致谢。

1 个答案:

答案 0 :(得分:0)

我认为你需要

event.stopImmediatePropagation()

https://developer.mozilla.org/en-US/docs/Web/API/event.stopImmediatePropagation

它可以防止事件冒泡。

编码示例我发现:(不是我的)

http://jsfiddle.net/4hBqJ/20/