Javascript 我如何强制jQuery使用;“听”;对于未来的AngularJS ng repeat元素,并在其上激活插件?
对jQuery有丰富的经验,对AngularJS是新手 我有一个带有颜色列表(变量号)的页面,其中附带了jQuery颜色选择器(由class“.colorpicker”标记)。在静态上,PHP生成的页面版本,效果很好;但将其转换为ng repeat,jQuery无法捕捉未来发生的情况 是否有一个事件可以通过$.on()捕获,或者是否有其他一些隐蔽的最佳实践方法可以通过AngularJS实现这一点?我到处搜索,但找到的每个答案都是如何在('click')上设置$或类似设置Javascript 我如何强制jQuery使用;“听”;对于未来的AngularJS ng repeat元素,并在其上激活插件?,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,对jQuery有丰富的经验,对AngularJS是新手 我有一个带有颜色列表(变量号)的页面,其中附带了jQuery颜色选择器(由class“.colorpicker”标记)。在静态上,PHP生成的页面版本,效果很好;但将其转换为ng repeat,jQuery无法捕捉未来发生的情况 是否有一个事件可以通过$.on()捕获,或者是否有其他一些隐蔽的最佳实践方法可以通过AngularJS实现这一点?我到处搜索,但找到的每个答案都是如何在('click')上设置$或类似设置 <ul class
<ul class="unstyled">
<li ng-repeat="color in showcolors">
<input type="color" class="input-mini colorpicker" ng-model="color.hex"> {{color.category}}
</li>
</ul>
-
{{color.category}
任何时候您想要操作DOM或使用jQuery功能/插件;是下达指令的时候了。您可以向ng repeat添加一个指令,该指令将jQuery colorpicker在添加到DOM时绑定到输入字段。比如:
<ul class="unstyled">
<li ng-repeat="color in showcolors">
<input data-jq-colorpicker type="color" class="input-mini colorpicker" ng-model="color.hex"> {{color.category}}
</li>
</ul>
注意,这是未经测试的,但应该可以解决您的问题。如果您设置了Plunker或JSFIDLE,我会看一看
另外,请务必查看。精彩,谢谢。我真的很喜欢AngularJS,但它有点偏离了jQuery处理某些事情的方式。而且,AngularUI非常棒。FullCalendar实际上是我列表中的下一个项目之一!谢谢你,这真是一个很棒的框架。普遍的共识是,您应该将jQuery作为最后的手段,并且应该尝试以角度的方式解决问题。显然,如果你需要使用很酷的jQuery插件,那就没问题了。一定要看看那边的视频,它们都很棒,指令上有很多东西。
yourApp.directive('jqColorpicker', function(){
var linkFn = function(scope,element,attrs){
// element here = $(this)
// bind your plugin or events (click, hover etc.) here
element.colorpicker();
element.bind('click', function(e){
// do something
});
}
return {
restrict:'A',
link: linkFn
}
});