从AngularJS控制器调用jQuery函数

前端之家收集整理的这篇文章主要介绍了从AngularJS控制器调用jQuery函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当点击时,我有一个下面的按钮显示一个小的弹出窗口,如通知
<button id="element" type="button" onclick="ShowNotifications()" class="btn btn-default" data-container="body" data-toggle="popover" data-placement="bottom" data-content="Text inside popup">Notifications</button>
<script type="text/javascript">
    function ShowNotifications() {
        $('#element').popover('open');
    }
</script>

我的意图是每隔几秒钟显示此弹出窗口,而不需要单击按钮,而是从AngularJS控制器。

var showPop = function () {
    //how can i call that jQuery function here ??
    $timeout(showPop,1000);
}
$timeout(showPop,1000);

试用以下解决方

app.directive("showNotifications",["$interval",function ($interval) {
    return {
        restrict: "A",link: function(scope,elem,attrs) {          
            $interval(function () {
                $(elem).popover("open");
                alert('hi');
            },1000);
        }
    };
}]);

包括脚本

<link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet" />
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>


<script src="js/app.js"></script>
<script src="js/postsService.js"></script>   
<script src="js/directive.js"></script>

<script src="js/controllers.js"></script>

使用这样的指令

<button id="element" type="button" class="btn btn-default" data-container="body" data-toggle="popover" data-placement="bottom" data-content="Friend request 1" **show-notifications**>Live Notifications</button>

我看到一个错误“对象没有方法popover”

指令用于DOM操作:
<button show-notifications>

和指令

.directive("showNotifications",function($interval) {
    return {
        restrict: "A",attrs) {
            //On click
            $(elem).click(function() {
                $(this).popover("open");
            });

            //On interval
            $interval(function() {
                $(elem).popover("open");
            },1000);
        }
    }
}]);

猜你在找的Angularjs相关文章