当我点击它的贯穿错误时
获取错误:未捕获TypeError:喜欢不是HTMLSpanElement.onclick中的函数
//In Controller
myApp.controller('AppCtrl', ['$scope', '$http', 'chatBotService', function($scope, $http, chatBotService) {
(function () {
$scope.like = function (lll) {
alert("like");
//lll.previousSibling.style.color = 'gray';
//lll.style.color = 'green';
}
});
(function () {
$scope.dislike = function (ddd) {
alert("dislike");
//ddd.style.color = 'red';
//ddd.nextSibling.style.color = 'gray';
}
});
function send_message(message) {
$("#container").append("<div class='row msg_container base_receive'>" +
"<div class='avatar'>" + "<img src='bot.png' alt='Chat' style='width:15px;margin-right: 10px;'/>" + "<br/>" +"</div>" + "<div class='col-md-10 col-xs-10'>" +"<div class='messages msg_receive'>" + message + "</div>" +"<small>" + DisplayCurrentTime() + "<small/>" + "<span id='dislike'
class='glyphicon glyphicon-thumbs-down gly-flip-horizontal dislike' onclick='dislike(this)' aria-hidden='true'></span>" + "<span id='like' onclick='like(this)' class='glyphicon glyphicon-thumbs-up like' aria-hidden='true'></span>" + "</div>" + "</div>");
}
}]);
答案 0 :(得分:1)
删除闭包
$scope.like = function (lll) {
alert("like");
//lll.previousSibling.style.color = 'gray';
//lll.style.color = 'green';
}
$scope.dislike = function (ddd) {
alert("dislike");
//ddd.style.color = 'red';
//ddd.nextSibling.style.color = 'gray';
}
或将其更改为IIFE
(function () {
$scope.like = function (lll) {
alert("like");
//lll.previousSibling.style.color = 'gray';
//lll.style.color = 'green';
}
})();
(function () {
$scope.dislike = function (ddd) {
alert("dislike");
//ddd.style.color = 'red';
//ddd.nextSibling.style.color = 'gray';
}
})();
答案 1 :(得分:0)
document.getElementById(&#34; dislike&#34;)。addEventListener(&#34; click&#34;,dislike); document.getElementById(&#34; like&#34;)。addEventListener(&#34; click&#34;,like);
function dislike() {
this.style.color = 'red';
this.nextSibling.style.color = 'gray';
}
function like() {
this.previousSibling.style.color = 'gray';
this.style.color = 'green';
}