Javascript 如何使svg图像不可拖动和单击
我正在使用svg图像滑块,在加载带有文本的图像之前,一切正常。当我拖动鼠标时,我的文本被选中,这很正常。当我用css属性阻止它时:Javascript 如何使svg图像不可拖动和单击,javascript,html,css,typescript,svg,Javascript,Html,Css,Typescript,Svg,我正在使用svg图像滑块,在加载带有文本的图像之前,一切正常。当我拖动鼠标时,我的文本被选中,这很正常。当我用css属性阻止它时: user-select: none -moz-user-select: none -webkit-user-drag: none -webkit-user-select: none -ms-user-select: none pointer-events: none 一切都会再次运行,但在执行此操作时,svg元素中的每个onclick操作都
user-select: none
-moz-user-select: none
-webkit-user-drag: none
-webkit-user-select: none
-ms-user-select: none
pointer-events: none
一切都会再次运行,但在执行此操作时,svg元素中的每个onclick操作都会被阻止。我的问题是如何使元素可拖动并同时启用onclick操作
编辑
我正在为我的问题提供示例代码,我希望它能澄清一切
document.getElementById('inspector-wrapper').addEventListener('mousedown',()=>{
const lastObjX=this.imgX;//获取img X,Y
const lastObjY=this.imgY;
this.lastX=this.currentX;//开始X,Y
this.lastY=this.currentY;
console.log(this.currentX);
this.interval=setInterval(()=>{//当按住鼠标1时
定义位置(lastObjX,lastObjY);
}, 10);
私有定义位置(lastObjX:number,lastObjY:number){
const distanceToMoveX=this.currentX-this.lastX;
如果(距离到凸!==0){
this.imgX=lastObjX+distanceToMoveX;//设置新X
}
如果(this.isYAvailable()){//Y可用,则设置新值
常量距离测量=this.currentY-this.lastY;
如果(距离测量!==0){
this.imgY=lastObjY+距离测量;
}
}
这个.setImgXY();
}
#检查器包装
位置:绝对位置
溢出:隐藏
背景色:透明
\:主机::ng深度对象
位置:绝对位置
左:0
排名:0
用户选择:无
-moz用户选择:无
-webkit用户拖动:无
-webkit用户选择:无
-ms用户选择:无
指针事件:无
document.getElementsByTagName(“img”)[0]。onclick=function(){
log(“指针事件工作”);
}
img{
用户选择:无;
}
尝试删除指针事件:无
这将禁用所有指针事件。请提供一个示例,并明确指定您想要实现的目标。在当前形式下,不清楚您的问题是什么以及您尝试了什么来解决它。我添加了最少的代码示例,希望这会有所帮助。看起来您正在设计整个
元素和指针事件:无。尝试将其仅应用于
元素。我尝试过,但svg中似乎存在问题。禁用所有事件时,我可以移动图像,但如果仅在文本上禁用图像,我将无法工作。我必须以某种方式使其工作。如果有人有线索,请留下评论。