javascript - 从 angularjs include html 文件调用函数

标签 javascript jquery angularjs

我有一个简单的index.html页面,其中包含一些带有angular.js的html文件

<div data-ng-include="'header.html'"></div>

使用此函数,我将标题包含到索引页中,一切正常。

我现在有一个简单的警报功能:

$('#myButton').click(function(){
    alert('hello');
});

我有简单的div:

<div id="myButton">test</div>

如果我将 div 包含到我的 index.html 中,一切正常 - 但如果我将相同的 div 包含到 header.html 中它包含在 angular.js 中,没有反应或错误......

我认为 javascript 调用不知道该 id。
任何想法,我能让这个工作吗?我不想放弃其中的内容......

最佳答案

原因是,您是在文档加载后插入的。因此,您需要以这种方式委托(delegate)和操作该函数:

$('body').on('click', '#myButton', function(){
    alert('hello');
});

解释是,DOM 在文档加载后被操作。但在此之前,您要添加此事件处理程序,该事件处理程序不会被元素接收。因此,您将事件触发器委托(delegate)给正文,当它发生更改时,将添加此事件。

关于javascript - 从 angularjs include html 文件调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15923215/

相关文章:

javascript - js中同一元素的多个事件注册的停止事件

jquery - Content slider using jquery offset 和 css 问题

javascript - 在容器内显示的 CSS 幻灯片。如何?

javascript - 观看已删除的模型?

javascript - 视频未显示在 Bootstrap 模式中

javascript - 使用 WinJS 实现 UWP 透明模糊效果

javascript - 使用 jQuery 将自定义 ID 添加到克隆的 HTML 节点?

javascript - 如果在 IE 中的 body 元素上使用边距,则 Jquery offset 不会给出预期值

javascript - 如何使用 ng-Repeat 来对数组对象进行 Angular 平移?

css - AngularJS 破坏了 Foundation 模态。解决方法?