我正在制作一个JavaScript日历,希望在一天中点击时可以调用ng-click。目前,我可以使用ng-click函数,但是无法将clicked元素附加到它:

var dateDiv = document.createElement('div');
dateDiv.setAttribute('ng-click', 'getTimeTables(' + fullDate + ', this);');
dateDiv.className += ' today';
$compile(dateDiv)($scope);


还尝试用angular的$ event代替它,但我无法正常工作或不知道如何,就像$($ event.currentTarget).addClass('newclass');一样。似乎什么也没做。

最佳答案

您可以通过$event.target访问该元素

var dateDiv = document.createElement('div');
dateDiv.setAttribute('ng-click', 'getTimeTables(' + fullDate + ', $event);');
dateDiv.className += ' today';
$compile(dateDiv)($scope);


getTimeTables内部:

$scope.getTimeTables = function(fullDate, $event) {
  $($event.target).addClass('newclass');
}

10-06 11:59