我尝试在黑色文字后添加链接。我可以让它们渲染得很好,但链接href
标签就会消失。
var eventstuff = data.text;
var eventElement = $("<div class='well well-sm eventsWells'>");
var deleteButton = $("<div class='panel'><a style='float:right; color:#348CD9; margin-top:3px;' href='' ng-click='deleteEvent("+key+")'>DELETE</a></div>");
eventElement.html(eventstuff).append(deleteButton);
eventsList.append(eventElement);
但 html 只显示:
<a style="float:right; color:#348CD9; margin-top:3px;" href ng-click="deleteEvent(-KAY7j7_deUWLjhDbaQ5)">DELETE</a>
并点击该链接将我带到 /#(使用Angular)。
我已经尝试使用href='#'
并在最后放置return false,这也没有用,它仍然会重定向到 /#。
我还尝试转义引号,然后移除href
,两者都不起作用。有什么想法吗?
答案 0 :(得分:0)
这可能是因为deleteEvent(-KAY7j7_deUWLjhDbaQ5)
。
传递string
类型参数时正确的onclick应该是这样的:
deleteEvent('-KAY7j7_deUWLjhDbaQ5')
^ ^ // ==>quotes are requried
这可以通过使用以下内容来实现:
var deleteButton = $("<div class='panel'><a style='float:right; color:#348CD9; margin-top:3px;' href='' ng-click='deleteEvent(\'"+key+"\')'>DELETE</a></div>");
您需要在此处添加$compile
服务,这会将ng-click
等角度指令绑定到您的控制器范围。见如下:
var eventstuff = data.text;
var eventElement = $("<div class='well well-sm eventsWells'>");
var deleteButton = $("<div class='panel'><a style='float:right; color:#348CD9; margin-top:3px;' href='' ng-click='deleteEvent(\'"+key+"\')'>DELETE</a></div>");
$compile(deleteButton)($scope); //here
$compile(eventElement)($scope); //here
eventElement.html(eventstuff).append(deleteButton);
eventsList.append(eventElement);
答案 1 :(得分:-1)
你可以这样试试 HREF =&#39;的javascript:无效(0);&#39;纳克单击=&#39; deleteEvent(\&#34;&#34 +键+ \&#34;&#34;)&#39;