如何在angularjs中的指令中注册click事件
how to register click event in directive in angularjs
我在angularjs中是新的。我有一个div#single,我想更改背景颜色,然后在点击事件中调用后端服务器。我不知道如何在angularjs自定义指令中做到这一点。任何帮助都将不胜感激我的html代码
<div id="single" class="" ng-style="{'background':x.is_read == 0 ?
'rgba(98, 95, 95, 0.87)': '#A4A4A4'}" ng-repeat="x in notification" chang-color>
changColor是具有以下代码的指令。请帮我怎么做这个
var app = angular.module('smac', []);
app.controller('asd',function ($http,$scope) {
app.directive("changColor", function() {
return {
restrict: 'A',
scope: {},
link: link
};
function link (scope, element) {
element.on('click', onClick);
}
function onClick () {
alert('as');
$(this).css({ 'background': '#A4A4A4' });
// after this back end call
}
});
});
您应该使用element.bind
而不是element.on
。Target元素可以通过事件Target访问,也可以仅通过此访问。
var app = angular.module('smac', []);
app.controller('asd',function ($http,$scope) {
// this is controller body
});
app.directive("changColor", function() {
return {
restrict: 'A',
scope: {},
link: link
};
function link(scope, element) {
element.bind('click', onClick);
}
function onClick (e) {
alert('as');
// Following lines as equal
e.target.style.background = "#A4A4A4";
this.style.background = "#A4A4A4";
angular.element(this).css("background","#A4A4A4");
// after this back end call
}
});
相关文章:
- Fancybox是否将Click事件静音
- jQuery:.click(function(){(element),collapse('show',f
- 点击facebook像素跟踪注册(JS/JQUERY代码)
- 当组件准备就绪时,如何在Polymer中动态注册新属性
- 注册OpenLayers事件时,即使使用匿名函数或绑定,JavaScript关闭也会触发循环内的所有内容
- Angular,表达式{{}}的结果没有插入到ng-click中
- 具有相同类的jquery-click元素
- Ng隐藏在Ng-click元素之外
- document.getElementById(“st”).click();不起作用
- 如何在单击“提交”按钮时为“新建”窗口编写JavaScript,用“确定”和“取消”显示注册信息
- Angularamd在typescript控制器注册中
- 注册组件的非角度和角度版本
- 使用谷歌图表将mousedown事件注册为click
- 如何在angularjs中的指令中注册click事件
- 当元素持有input+标签时,如何将click事件注册到元素
- 当document.click事件在Javascript中注册时,如何在IE中正确获取事件目标
- 元素.bind只在其他ng-click:: (AngularJS + Ionic)中注册
- .hasClass.在第二次. Click之前不注册函数调用.ajax异步
- Html5 / click事件未注册HTML按钮标签
- ie7 jQuery.click 仅在目标具有背景时注册