我必须映射到特定的控制器和视图特定的路线:在装模板的jQuery丢失目标
app.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/create', {
templateUrl: 'partials/form/form.html',
controller: 'TournamentCreateController'
});
}]);
在这种form
页我在内的一些泛音,以及:
<div ng-include="'partials/form/start.html'"></div>
而且这start.html
有一个元素如:
<input id="time" type="text" ng-model="time">
当我尝试激活该元素上的JavaScript组件,它完全忽略了它的目标(#time
)。我尝试了以下内容:
app.controller('TournamentCreateController', function ($scope, $rootScope, service) {
$('#time').on('click', function() { alert('Time clicked'); });
}
而当输入被点击时,不显示任何提示。但是,如果我将start.html
(部分)中的元素移至包含它的父项,form.html
,则jQuery可以正常工作。
这是什么问题,我该如何解决它?
以及如果我只是想声明'#time'作为组件?我的意思是,只是绑定一个函数,所以它是一个时间选择器。或者,例如,我正在使用的CSS框架具有内置指令,可以自动为您执行此操作。但问题依然存在,因为你指出(我猜)。那么我该如何正确地绑定它? – dabadaba
@dabadaba在这种情况下,您需要创建一个指令,并在指令内部操作DOM。 –