あなたは$event
に合格し、現在のクリックされた要素を取得するためにtarget
を使用することができます。ディレクティブの方法を使用して
<div id="single" ng-click="changeit($event)">
asad
</div>
$scope.changeit = function ($event) {
$($event.target).css({ 'background': '#A4A4A4' });
}
、あなたはこのようにそれを行うことができます:
<div id="single" data-change-color>foobar</div>
と要素にclick
イベントを追加し、それをクリックしたときの色を変えるchangeColor
ディレクティブ。
(function() {
'use strict';
angular
.module('myModuleName')
.directive('changeColor', changeColor);
changeColor.$inject = [];
function changeColor() {
return {
restrict: 'A',
scope: {},
link: link
};
function link (scope, element) {
element.on('click', onClick(element));
}
function onClick (element) {
return function() {
element.css({ 'background': '#A4A4A4' });
}
}
}
})();
使用これであってもよいこと作業NGクリック= "changeitと($イベント)" – uzaif
、あなたはパラメータで$範囲をaccesptなぜ? – uzaif
あなたのスコープで関数を呼び出したり、コントローラでDOMを操作したりするのではなく、このタスクにng-styleやng-classのようなディレクティブを使用してみましょう。これはAngularのベストプラクティスではありません。 – mccainz