0

我想用来$(selector).trigger('click')触发该元素上的 ng-click 事件。

我想我想使用指令来做到这一点,但我不知道该怎么做。这是我的想法:

.directive('jClick', function() {
    return {
        restrict : 'A',
        scope: {
            'ngClick' : '&'
        },
        link: function($scope, element) {
            return element.bind('click', function(){
                $scope.ngClick({order : $scope.order});
            });
        }
    };
})

它不仅不起作用,而且完全破坏了我的应用程序。场景(如果有帮助的话)是这样的:

我有一个可扩展的 zippies 列表,当调用 myng-click中的函数时,它们会扩展 ( ng-click="expand(order)")。

我有一个函数可以检查当前网址末尾是否有哈希,例如:

example.com#/my/route/params#83947

(我将第二个哈希与第二个哈希分开,$routeParams因为它们用于不同的目的。)

我使用一个函数来检查第二个哈希是否存在并将页面向下滚动到相应的列表项。一切正常,但我希望它也扩展该列表项,因此我希望触发它ng-click

4

1 回答 1

2

所以你想根据一定的条件自动打开zippy?条件本身并不重要。您可以做的是将可见性(展开/折叠)绑定到布尔值并在控制器上设置变量。在 Zippy 指令上,ng-click 也会设置相同的变量。因此,您有两种方法来打开和关闭 zippy,一种是通过单击 Zippy,另一种是通过从外部设置标志。

ng-click 是一个内置指令,它本身不是一个属性,也不是你可以调用的函数。我不会依赖手动触发 ng-click。

于 2013-03-27T18:05:04.057 回答