Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
410 views
in Technique[技术] by (71.8m points)

想动态禁用页面图片拖拽

想做图片禁止拖拽,因为后台返回的是一整个富文本的内容,因此不能直接在img上面加οndragstart=”return false;”
( <img src=”logo.gif” width=88 height=31 οndragstart=”return false;” >不可行)
然后查了其他资料,说
for(i in document.images)document.images[i].οndragstart=function(){return false;};
用循环查找img可以禁用,然而打印document.images[i].οndragstart却是undefined。
因此想问问有人知道如何禁用图片拖拽吗?
我想的是是否有个设置可以直接禁用img外面包着的那层div,只要是该div下的图片,都不可能拖拽?

已解决,谢谢回答的大佬们。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

假设你的img外层包裹的元素类名为drag-disabled

    document.body.addEventListener('dragstart',function(e){
        if(e.target.nodeName.toLowerCase() === 'img' && e.target.parentNode.classList.contains('drag-disabled')){
            e.preventDefault();
        }
    })

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...