Tengo una aplicación de dibujo usando el lienzo html5. Cuando el usuario está dibujando y la pluma se desliza fuera del área del lienzo, Chrome resalta los elementos html en la página en azul claro o amarillo.Prevenir la selección accidental/arrastrar resaltar
Esto es perjudicial para la experiencia de dibujo. ¿Hay alguna manera de evitar que suceda este destacado?
La manipulación y elaboración código de evento se basa fuera de este post: http://jsfiddle.net/rnNFB/1/
var x ;
var y ;
var lower = $('#lower').get(0).getContext('2d') ;
var upper = $('#upper').get(0).getContext('2d') ;
var dragging = false ;
function drawStroke(ctx){
var i ;
ctx.strokeStyle='rgba(0,0,0,0.5)' ;
ctx.lineWidth=10 ;
ctx.beginPath() ;
ctx.moveTo(x[0],y[0]) ;
for (i=1; i < x.length; i++){
ctx.lineTo(x[i],y[i]) ;
}
ctx.stroke() ;
}
$('#upper').mousedown(function(e){
x=[e.layerX];
y=[e.layerY];
dragging=true}) ;
$('#upper').mousemove(function(e){
if (dragging){
x.push(e.layerX);
y.push(e.layerY);
upper.clearRect(0,0,upper.canvas.width,upper.canvas.height) ;
drawStroke(upper) ;
}}) ;
$('#upper').mouseup(function(e){
dragging = false ;
upper.clearRect(0,0,upper.canvas.width,upper.canvas.height) ;
drawStroke(lower) ;
}) ;
Si agrega algunas etiquetas h1 por encima de las etiquetas de lona a continuación se basan en el lienzo, arrastrando fuera del cuadro delimitador, verá un punto culminante azul. ¿Hay alguna forma de prevenir este comportamiento?
Este problema no se limita solo al lienzo. – nalply
Sí, es aplicable a cualquier método de arrastrar y soltar, selección de filas, etc., prácticamente cualquier cosa que no esté relacionada simplemente con el contenido de texto ... He encontrado la respuesta a continuación de utilidad en muchos contextos. – Homan