我正在将多页php + jquery网站转换为单页角度应用程序。但是我已经用jquery编写了很多代码,因此只打算将php换成与路由等有关的角度。
我遇到的一个我无法弄清楚的问题是,在转换停止工作之前,我一直用尽的jquery click事件。如果更改代码以使其通过ng-
click触发,则它将起作用,即使我从控制台调用该函数也是如此。jQuery正常工作,我在提到的函数中放了一些jQuery,它工作正常。
<!doctype html>
<html ng-app="myApp">
<head>
<link href="css/header.css" rel="stylesheet">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.11/angular.js"></script>
<script src="https://cdn.firebase.com/js/client/2.2.4/firebase.js"></script>
<script src="https://cdn.firebase.com/libs/angularfire/0.9.2/angularfire.min.js"></script>
<script type='text/javascript' src="js/jquery.min.js"></script>
<script type='text/javascript' src='js/header.js'></script>
<script type='text/javascript' src='main.js'></script>
</head>
<header-page></header-page>
main.js:
var mainApp = angular.module('myApp', ['firebase', 'headerPage']);
mainApp.directive('headerPage', function(){
return{
restrict: 'E',
templateUrl: 'html/header.html'
}
});
header.js
(function() {
var app = angular.module('headerPage', ['firebase']);
app.controller("headController", ['$http', '$firebase', '$scope', '$filter',
function($http, $firebase, $scope, $filter) {
//most of the code
}
]);
})();
$("#myElement").on("click", function() {
console.log("clicked");
});
原因是,当您将事件绑定到元素时,#myElement
该元素尚不存在。由于该元素是作为指令模板的一部分呈现的,因此您需要在指令链接函数内移动绑定处理程序。好吧,从技术上讲,您可以使用事件委派来解决问题,但这只是骇客而已。最好的选择是ng- click
在元素上使用自身(您已经说过已经尝试过)。
问题内容: 我在用 单击到容器上的按钮,但随后进行了ajax调用,并且内容使用新内容进行了更新,然后当我尝试单击它时将无法工作…单击该按钮时,将不会返回任何内容。 我什至试过 要么 我该如何运作? 编辑: 我的HTML: 问题答案: 应该以这种方式完成。 如果您的容器在ajax请求期间没有更改,则性能更高: 始终将委托事件绑定到将包含动态元素的最接近的静态元素。
我试图在一个组件内使用点击指令,但它似乎不起作用。当我单击组件时,当我应该在控制台中单击测试时,没有任何事情发生。我在控制台上没有看到任何错误,所以我不知道我做错了什么。 index.html 一个pp.vue Test.vue(组件)
问题内容: 我有一段jQuery,它会循环遍历给定div()中的每个元素,并且每次单击范围时都会发出JavaScript警报。如果的值是静态的,则效果很好。 但是,如果我使用如下代码: jQuery代码不会触发。奇怪的是 我的问题是:我的Click事件是否不适用于动态创建的项目?我想我必须在我的文档中添加准备好的内容或心跳脚本(每100毫秒触发一次)来关联事件? 问题答案: 做这个: 其中,在其中
问题内容: 我实现了Android 与。在这里,我有一个问题,当我单击列表项时,当闪烁的颜色也没有到来时,即橙色,则不执行任何操作。因此,您对我的问题的这个答案有任何想法吗? 我也将此代码放入Main ListActivity。 问题答案: 您首先要注意的是,每当元素中存在诸如按钮之类的Clickable元素时,它们都会控制click事件。因此,您将没有机会接受click事件。 您要做的只是将Li
问题内容: 下面的代码有效。如果有更好的方法,请告诉我。如果我使用通过ajax加载test.html的主页中test.html中存在的脚本内容。该脚本不起作用。 Test.html: 我们必须根据需要通过ajax加载脚本以及动态加载的内容,但是我感到不利的是,每次我们发送ajax请求脚本时都会始终加载内容。但是我只找到了这种解决方案。如果有人知道更好的解决方案,请回复。 例如,如果以这种方式更改代
问题内容: 关闭页面时,我使用此代码注销用户,但是单击其他链接(相同的网站)时,用户也会注销: 有什么方法可以区分链接导航和实际页面关闭吗? 编辑: 我目前已实现此解决方案,但是它缺乏检测页面重新加载的能力 问题答案: 尝试以下解决方案,希望对您有所帮助 要么