首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery或jqlite不能使用<ng-view></ng-view>中的元素

jQuery或jqlite不能使用<ng-view></ng-view>中的元素
EN

Stack Overflow用户
提问于 2015-10-02 12:16:30
回答 1查看 612关注 0票数 0

index.html:

代码语言:javascript
复制
<div>
<p class="aaa">ppp</p>
<ng-view>

</ng-view>
</div>

general.html

代码语言:javascript
复制
<p class="bbb">pppppp</p>

javascript

代码语言:javascript
复制
var app = angular.module('StarterApp', ['ngMaterial','ngRoute','ngImgCrop']);

app.config(function($routeProvider){
        $routeProvider
            .when('/general',
                {
                    templateUrl:'../view/general.html'
                })
});

$(document).ready(function() {
    $(".aaa").on("click",function(){
         alert('clicked');
    });
    $(".bbb").on("click",function(){
         alert('clicked');
    });
});

它适用于class=为“aaa”的元素,但不适用于

代码语言:javascript
复制
 <ng-view></ng-view>

jQuery代码在控制器外部。

EN

回答 1

Stack Overflow用户

发布于 2015-10-02 12:29:58

在jquery中准备好的文档可能发生在angular完成加载之前(例如,在它注入ng-view之前)。如果您使用require.js这样的随需应变脚本系统,情况就更是如此。

因此,您应该

答:使用Angular的文档ready版本,

代码语言:javascript
复制
angular.element(document).ready(function () {
    $("#aaa").on("click",function(){
     alert('clicked');
    });
    $("#bbb").on("click",function(){
         alert('clicked');
    });
});

B:(角度方式)

为你想要的任何自定义元素构建一个angular指令,或者一个表单,或者一个小部件,或者你正在构建的(划分它),这样你就可以处理指令链接或编译函数,然后你可以订阅元素上的事件(比如一个锚),并可以访问它的事件对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32900475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档