我正在尝试在kendo编辑器中插入带有ng-click事件的html标记。当我获得插入的数据并显示在div中时,ng-click不起作用。 javascript中的正常onclick工作正常,但ng-click不是。
下面给出的是在编辑器文本区域中插入的<a>
标记。
<a ng-click="testMsg()"><span>' + nodeId + '</span></a>
有关如何解决这个问题的想法吗?
答案 0 :(得分:0)
onclick
是DOM本机事件处理程序,但ng-click
不是。只有那些在范围中注册的功能才可用。如果没有明确指定范围,ng-click
将无法使用任何内置函数,如我的示例所示。
var app = angular.module('app1', []);
app.controller('ctrl1', ['$scope', function($scope) {
function testMsg() {
alert('Hello world');
}
$scope.goodTestMsg = testMsg;
}]);
<div ng-app="app1" ng-controller="ctrl1">
<p ng-click="goodTestMsg()">Click me will show a message</p>
<p ng-click="testMsg()">Click me should happen nothing</p>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
TL; DR:方法testMsg
未暴露给控制器范围。尝试添加$scope.testMsg = testMsg;
之类的内容可以解决您的问题。
答案 1 :(得分:0)
Instead of textarea, try using div. I am facing similar problem which was partially solved with div. However it will be inline editing as the toolbar will get hidden and it will be displayed only when you focus cursor on the div.