首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用onmousedown

禁用onmousedown
EN

Stack Overflow用户
提问于 2018-01-03 05:35:43
回答 1查看 92关注 0票数 0

我对sencha ext js很陌生,如何通过单击按钮来禁用onMouseDown,防止用户在画布上绘图。

分机js 6.5.2

这是视图

代码语言:javascript
复制
tbar: ['->', {
         text: 'Disable',
         handler: function () {
            // Remove all the sprites and redraw.
            onMouseDown.setDisabled()(!onMouseDown.isDisabled());
            this.setText(action.isDisabled() ? 'Enable' : 'Disable');

  }],

这是组件

代码语言:javascript
复制
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();
        }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-03 14:50:03

假设您的代码是基于免费油漆示例的,我认为您可以这样做:

代码语言:javascript
复制
{
    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');
        }
    }
}

下面是小提琴来说明。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48071725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档