рдирдорд╕реНрддреЗ,
рдкрд╣рд▓реЗ рдЖрдкрдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рджреВрд╕рд░реЗ, рдореБрдЭреЗ рдХреБрдЫ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ _(рд╕реНрдорд╛рд░реНрдЯ рдлреЛрди рдФрд░ рдЯреИрдмрд▓реЗрдЯ)_ 1080 рдкрд┐рдХреНрд╕рд▓ рд╕реЗ рдЕрдзрд┐рдХ рдпрд╛ рдЙрд╕рдХреЗ рдмрд░рд╛рдмрд░ рдЪреМрдбрд╝рд╛рдИ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╣реИ (рдЬреИрд╕реЗ рдПрдЪрдЯреАрд╕реА рдПрдо 9 рдкреНрд▓рд╕, рдореЛрдЯреЛ рдЬреА (6) рдФрд░ рдореЛрдЯреЛ рдЬреА 5 рдкреНрд▓рд╕, рд╕реИрдорд╕рдВрдЧ рдПрд╕рдПрдо-рдЯреА 385 рдПрдо) _ . рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬрдм рдореИрдВ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдкреГрд╖реНрда рд╕реНрдХреНрд░реЙрд▓ _(рдКрдкрд░ рдпрд╛ рдиреАрдЪреЗ)_ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдХреИрдирд╡рд╛рд╕ рдореЗрдВ рдПрдХ рдмрд┐рдВрджреБ рдЦреАрдВрдЪрддрд╛ рд╣реИ (рдЫрд╡рд┐ рджреЗрдЦреЗрдВ) ред рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ Google рдХреНрд░реЛрдо рдореЗрдВ рд╣реЛрддреА рд╣реИ, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ _ (рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд╕рд╛рде) _ред рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд╕рд╛рде, рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ -рдЧреВрдЧрд▓ рдХреНрд░реЛрдо-ред
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрдВрд╕реЛрд▓ рджреЗрдЦрдХрд░ рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА:
[Intervention] Ignored attempt to cancel a touch event with cancelable = false, for example because scrolling is in progress and cannot be interrupted signature-pad.js:63
рдЗрд╕ рдкрдВрдХреНрддрд┐ рдореЗрдВ:
this._handleTouchEnd = function (event) {
var wasCanvasTouched = event.target === self._canvas;
if (wasCanvasTouched) {
event.preventDefault();
self._strokeEnd(event);
}
};
рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛:
this._handleTouchEnd = function (event) {
var wasCanvasTouched = event.target === self._canvas;
if (wasCanvasTouched && event.cancelable) {
event.preventDefault();
self._strokeEnd(event);
}
};
рдХрдВрд╕реЛрд▓ рдореЗрдВ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрдирд╛ рдмрдВрдж рд╣реЛ рдЧрдИ, рд▓реЗрдХрд┐рди рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЕрднреА рддрдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рд╕рдВрд╕реНрдХрд░рдг 2.3.0 рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ?. рдзрдиреНрдпрд╡рд╛рджред
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк scroll
рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╢реНрд░реЛрддрд╛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рд╕рд╣реА рд╣реИ, рдпрд╛рдиреА "рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИ"?
рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВред рдХреНрдпрд╛ рдЖрдк рдХрд╣реАрдВ рдбреЗрдореЛ рд╕реЗрдЯ рдЕрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдореЗрд░реЗ рдкрд╛рд╕ рдПрдВрдбреНрд░реЙрдЗрдб рдЯреИрдмрд▓реЗрдЯ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╢рд╛рдпрдж 1080 рд╕реЗ рдЕрдзрд┐рдХ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╣реИред
рд╡рд┐рд▓рдВрдм рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рд╣рд╛рдБ рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
рдореБрдЭреЗ рджреЗрдЦрдиреЗ рджреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрдореЛ рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
@szimek ,
рдХреЛрдбрдкреЗрди:
рдореИрдВрдиреЗ scroll
рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╢реНрд░реЛрддрд╛ рдЬреЛрдбрд╝рд╛, "рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ" рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрдВрд╕реЛрд▓ рдЦреЛрд▓реЗрдВред
@szimek
рдирдорд╕реНрддреЗ,
рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдХрд░ рдкрд╛рдП рд╣реИрдВ? @szimek : рд╕реА
рдирдорд╕реНрддреЗ,
рдореЗрд░реЗ рдкрд╛рд╕ рднреА рдпрд╣реА рдореБрджреНрджрд╛ рдерд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рд╡рд┐рдВрдбреЛ рд▓реЛрдб рдФрд░ рд╡рд┐рдВрдбреЛ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рднреАрддрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдХреЗ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реИ (рдореИрдВ jQuery рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ):
$('canvas.sig_canvas').each(function(){
var id = $(this).attr('id'); //Get the ID of signature
var width = $(this).closest('.sig_container').width(); //Get the width of the signature container
sig_pads[id].off(); //Unbind all events on signature pad (I have an array of them)
if(!$(this).data('prev_width') || Math.abs(width - $(this).data('prev_width')) > 30){ //Resize threshold 30px, only resize if previous width has changed by 30 pxs
var ctx = $(this)[0].getContext('2d'); //Get context
$(this).attr('width', width); //Set canvas width
ctx.canvas.width = width; //Set context width
$(this).data('prev_width', width); //Update prev_width for threshold
}
sig_pads[id].on(); //Rebind all signature events
});
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдирдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдФрд░ рд░рд┐рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдерд╛ рдпрд╛ рдпрджрд┐ рдпрд╣ рдХреИрдирд╡рд╛рд╕ рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕рдВрджрд░реНрдн рдЪреМрдбрд╝рд╛рдИ рдХреЛ рд╕реЗрдЯ рдХрд░ рд░рд╣рд╛ рдерд╛, рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред
@Steeveuk рдЪреАрдЬреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдмрд╕ SignaturePadInstance.off() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ SignaturePadInstance.on() рджреНрд╡рд╛рд░рд╛ рдкреБрдирдГ рд╕рдХреНрд╖рдо рдХрд░реЗрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдирдорд╕реНрддреЗ,
рдореЗрд░реЗ рдкрд╛рд╕ рднреА рдпрд╣реА рдореБрджреНрджрд╛ рдерд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рд╡рд┐рдВрдбреЛ рд▓реЛрдб рдФрд░ рд╡рд┐рдВрдбреЛ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рднреАрддрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдХреЗ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реИ (рдореИрдВ jQuery рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ):
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдирдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдФрд░ рд░рд┐рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдерд╛ рдпрд╛ рдпрджрд┐ рдпрд╣ рдХреИрдирд╡рд╛рд╕ рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕рдВрджрд░реНрдн рдЪреМрдбрд╝рд╛рдИ рдХреЛ рд╕реЗрдЯ рдХрд░ рд░рд╣рд╛ рдерд╛, рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред