我正在使用一個函數,我發現使用googling來禁用DIV中的所有鏈接。如何在HTML禁用後重新啓用HTML中的鏈接?
它工作正常,我完全明白它在做什麼。 這是它:
function disableLinksByElement(el) {
if (document.getElementById && document.getElementsByTagName) {
if (typeof(el) == 'string') {
el = document.getElementById(el);
}
var anchors = el.getElementsByTagName('a');
for (var i=0, end=anchors.length; i<end; i++) {
anchors[i].onclick = function() {
return false;
};
}
}
}
不幸的是,爲了使這些鏈接再次,它是不夠的,設置所有的「點擊」返回true,因爲 - 這是我的猜測 - 我的大部分環節都呼籲JS功能,而且它們不是簡單的www鏈接。總之,這就是我正在做的事情:我正在使用Ajax調用,完成後用一些更新的HTML代碼填充特定的DIV。 與此同時,我將DIV調暗至50%(不透明度,IE8 +安全)並禁用鏈接。 當Ajax調用返回時,它們取消調暗DIV和(嘗試去,沒有成功)重新啓用鏈接。請注意,Ajax調用真正產生在DIV「新」的HTML代碼,所以這些鏈接應該是全新的 - 而不是阻止,但他們是...
SAMPLE OF LINKS THAT GET DISABLED BUT NOT RE-ENABLED IN THE DIV
THESE ARE PHP-GENERATED FROM SCRATCH EACH TIME
<a class="btn" onclick="someJSfunction(2,1,50041); return false;">Do something</a>
<a href="#" onclick="someOtherJSFunction(1); return false;">
<img src="imguser/thumb_4596543689.jpg" width="25px" height="25px">
</a>
免責聲明:本人完全清楚,使用jQuery會更容易,而且我完全知道,使用客戶端調試器時,任何用戶在執行函數時都可以「調用」這些鏈接。所有的安全檢查都在服務器端完成,所以不要擔心。這只是爲了阻止不耐煩的用戶。
什麼是你的相關,最小(簡單,*代表*)的HTML? – 2014-11-24 18:02:20
對不起,我不明白。你對相關的HTML有何意義? – ZioBit 2014-11-24 18:03:27
這是什麼(代表性的)HTML操作。或者你想讓我們開始猜測發生了什麼? – 2014-11-24 18:04:21