2016-07-08 69 views
1

腳本語言:AngularJS無法在邊緣瀏覽器中的<a>標籤內輸入輸入類型文本?

我的HTML代碼:

<li> 
<a href="javascript:void(0)"> 
<label ng-if="show">MyName</label> 
<i class="fa fa-pencil" ng-if="show"> 
<i class="fa fa-trash" ng-if="show"> 
<input type="text" ng-hide="show" /> 
</a> 
</li> 

這上面的html中的所有瀏覽器IE中邊工作除外..

此功能用於完成的,當我在編輯圖標點擊在列表中,標籤將被刪除,並且文本框將顯示標籤值。

其類似的編輯列表,用於我將選擇或重命名的標籤值。

此html代碼正常工作(Firefox,谷歌瀏覽器除IE9以上&邊緣)。

+0

你爲什麼要把一個輸入放在錨點內?此外,這裏沒有任何[tag:angularjs];這只是HTML。你還可以分享你使用的任何相關的Angular代碼嗎?最後,你使用哪個版本的Edge進行測試?我剛剛在最近的構建中測試了https://jsfiddle.net/39zhw2uf/,並且能夠輸入到兩個輸入元素中。 – Sampson

+0

錨標籤只能包裝非交互式內容,所以沒有輸入。這是無效的HTML。 http://www.w3.org/TR/html5/text-level-semantics.html#the-a-element – ste2425

回答

0

試用html validator

輸出是:

Error: The element input must not appear as a descendant of the a element.

所以基本上這不是一個有效的HTML,它依賴於瀏覽器上,他們是如何嚴格解析您的標記。所以你可能想在你的代碼中使用一些解決方法來獲得你想要的效果,但不使用這種標記。

相關問題