盎格鲁语+;RoR+;jQuery-jQuery的问题
我在angular+ror应用程序中遇到jQuery问题。我想用javascript做一些事情,比如删除和添加类,但问题是我并没有在angular controller或sort中这样做,我想在单独的.js文件中这样做。这里有一个问题,jQuery的工作方式不是它应该的,例如:盎格鲁语+;RoR+;jQuery-jQuery的问题,jquery,angularjs,ruby-on-rails-4,Jquery,Angularjs,Ruby On Rails 4,我在angular+ror应用程序中遇到jQuery问题。我想用javascript做一些事情,比如删除和添加类,但问题是我并没有在angular controller或sort中这样做,我想在单独的.js文件中这样做。这里有一个问题,jQuery的工作方式不是它应该的,例如: $(document).ready(function() { $("a").click(function() { console.log("CLICKED"); }); conso
$(document).ready(function() {
$("a").click(function() {
console.log("CLICKED");
});
console.log($("a"));
});
上面的代码不起作用,控制台显示我的文档中没有“a”标记。即使有“a”标签
但是下面的代码是有效的,它向控制台显示了全身元素:
$(document).ready(function() {
$("body").click(function() {
console.log("CLICKED");
});
console.log($("body"));
});
我正在使用jquery rails gem,下面您可以看到我的application.js文件。我使用资产管道要求所有角度文件(当然测试除外)
application.js:
//= require jquery
//= require jquery_ujs
//= require angular.min.js
//= require angular-resource.min.js
//= require angular-route.min.js
//= require ./angular/angular_app_declaration.js
//= require bootstrap-sprockets
//= require_tree .
我使用RubyonRails生成了唯一的标准视图,即application.html.erb,我使用RoR作为API,其余视图由angular路由处理,angular通过生成templateUrl添加“a”标记
如何使jQuery工作?为了让jQuery到达标记,您应该使用 在由角度模板加载的
HTML
中。你可以这样做
<a href="http://example.com" custom-directive >Link</a>
第1步-不要在AngularJS应用程序中使用jQuery。我在您的文档中没有看到任何
a
标记您的问题是
app.module('App', [])
...
.directive('customDirective', [function(){
return {
link : function(scope, elem, attr){
elem.on('click', function(){ console.log(' CLICKED ! '); });
},
restrict : 'A'
}
}])