禁止网页中的图片或文本被选中

在开发互动小游戏时,遇到图片和文本被选中并可能导致新页面打开的问题。通过CSS可以禁止文字和图片选中,同时也可以阻止图片的拖拽行为,以优化用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

由于我最近在开发一个互动小游戏,碰到一个情况必须要用img标签来实现,平时我都是用div再给它背景的方式实现的。(为什么小游戏还要用dom?用游戏引擎不行吗?我太菜了,不会游戏引擎,只能用原生js和jQuery实现了,反正我接触到的游戏都不是很复杂,用css实现一些动效还挺简单的)。

遇到的问题

其实我一开始就是用img来添加物品到场景中的,后来测试发现图片会被选中,并且某些浏览器甚至会打开新页面,当时我为了避开这个问题,改成了div+背景的方式,现在我遇到了麻烦,只能用img才能简单点。所以我就上网找如何解决这样的问题。

最粗暴的解决方法

// jquery
$(document.body).on('mousedown', e => {
	e.preventDefault()
})

同时,这个也是最简单的解决办法,可以禁止所有的图片、文字选中和元素的拖动,对于我制作的小游戏都十分友好。如果需要更加精细的控制,可以修改document.body为其他的选择器即可。

利用css禁止文字、图片选中

如果只是想禁止选中效果,而保留拖拽等其他效果,也是可以的。只需添加一些css代码即可。

/* 禁止所有的img被选中, 文本也是一样 */
img {
	user-select: none;
}

禁止图片被拖拽

网页的图片默认是可以被拖拽的,这里依然推荐最粗暴的阻止mousedown的默认行为。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值