ext js禁用onmousedown
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ext js禁用onmousedown相关的知识,希望对你有一定的参考价值。
我是sencha ext js的新手,如何通过单击按钮禁用onMouseDown,防止用户在画布上绘图
Ext js 6.5.2
这是视图
tbar: ['->', {
text: 'Disable',
handler: function () {
// Remove all the sprites and redraw.
onMouseDown.setDisabled()(!onMouseDown.isDisabled());
this.setText(action.isDisabled() ? 'Enable' : 'Disable');
}],
这是组件
onMouseDown: function (e) {
var targetElement = this,
me = Ext.getCmp(targetElement.id),
surface = me.getSurface(),
xy, x, y;
if (!me.sprite) {
xy = surface.getEventXY(e);
x = xy[0];
y = xy[1];
me.list = [x, y, x, y];
me.lastEventX = x;
me.lastEventY = y;
me.sprite = surface.add({
type: 'path',
path: ['M', me.list[0], me.list[1], 'L', me.list[0] + 1e-1, me.list[1] + 1e-1],
lineWidth: 20,
lineCap: 'round',
lineJoin: 'round',
draggable: 'true',
strokeStyle: new Ext.util.Color(0,0,0)
});
surface.renderFrame();
}
}
答案
假设您的代码基于free paint example,我认为您可以执行以下操作:
{
text: 'Disable',
handler: function (button) {
var draw = Ext.getCmp('free-draw');
if (draw.isDisabled()) {
draw.enable();
button.setText('Disable');
} else {
draw.disable();
button.setText('Enable');
}
}
}
这是fiddle来说明。
以上是关于ext js禁用onmousedown的主要内容,如果未能解决你的问题,请参考以下文章