Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我是否使用'button.disabled=true;`不正确?_Javascript_Easeljs_Animate Cc - Fatal编程技术网

Javascript 我是否使用'button.disabled=true;`不正确?

Javascript 我是否使用'button.disabled=true;`不正确?,javascript,easeljs,animate-cc,Javascript,Easeljs,Animate Cc,我正在尝试在Animate CC中构建一个交互,播放电影剪辑,按钮在单击后消失 当电影剪辑在主背景上播放时,我试图暂时禁用其他按钮,但效果不好 单击处理程序的代码段: exportRoot.btn_cook.addEventListener("click", cook_clickHandler.bind(this)); function cook_clickHandler(){ exportRoot.cook.gotoAndPlay(1); //play the info clip

我正在尝试在Animate CC中构建一个交互,播放电影剪辑,按钮在单击后消失

当电影剪辑在主背景上播放时,我试图暂时禁用其他按钮,但效果不好

单击处理程序的代码段:

exportRoot.btn_cook.addEventListener("click", cook_clickHandler.bind(this));
function cook_clickHandler(){
    exportRoot.cook.gotoAndPlay(1); //play the info clip
    exportRoot.btn_cook.visible = false; //hide button for no replays
    disableAll();
}
不幸的;对画布上的每个按钮执行以下操作:

if(exportRoot.btn_receive.visible == true){
    exportRoot.btn_receive.disabled = true;
}
我在想如何正确使用它时遇到了一些困难。当我运行交互时,我仍然能够单击按钮,即使我假定禁用了它们


此演示不会在GitHub上加载声音,但它可以在其他情况下工作

我也有同样的问题,所以我有另一种方法:

您可以尝试删除eventListener单击,如下所示:

if(!exportRoot.btn_receive.hasEventListener("click")){
    exportRoot.btn_receive.removeEventListener("click", cook_clickHandler);
}

如果希望再次启用此功能,请添加eventListener。

禁用的属性是布尔属性。这意味着只要存在它就足以导致元素被禁用。将值设置为什么值没有区别。您需要从元素中删除属性以删除禁用的效果

删除事件侦听器会处理症状,但不会触及问题的核心

另外,visibility属性获取visible或hidden的值,而不是true或false

下面是一个简单的示例,说明如何应用和禁用禁用禁用属性的非双关语:

btnToggle.addEventListenerclick,函数{ var elems=document.querySelectorAll.disableEnable; //循环遍历类中的每个元素 元素forEachfunctionelement{ //检查第一个元素是否具有disabled属性 //属性的值无关紧要。如果属性 //如果存在,则元素当前处于禁用状态。 ifelement.getAttributedisabled{ //元素已禁用,因此通过删除它来启用它 //属性不是通过设置值来创建的 element.RemoveAttributed已禁用; }否则{ //元素已启用,因此通过添加禁用的 //属性。同样,值并不重要,但与约定无关 //表示我们设置了一个值disabled来表示它是 //布尔属性。 element.setAttributedisabled,已禁用; } }; }; 禁用/启用 测试按钮
我无法用这个简化的例子重现这个问题:戳URL时,必须在问题本身中提供一个!看起来你的按钮不是按钮,所以disabled属性是没有意义的。@Quentin这是一个大文件,开头应该有几秒钟的音频,所以按钮在那里,它们一点也不出现在屏幕上:很抱歉。我应该提一下。我不知道为什么会发生错误。这可能是因为它是动画cc。无论出于什么原因,当我在按钮上播放一个movieclip时,它仍然允许您单击按钮。另外,也许可以尝试一个图像按钮?这些被分类为动画cc上的按钮,它们有向上状态、向下状态和过度状态。。。那么,它们不是按钮吗?这在动画cc中仍然有效吗?它使用了一个createjsapi,这似乎不同于常规javascript。我从文档中获得了可见性,这似乎是最好的解决方案,因为我在easeljs文档中找不到禁用的属性。我想我最初使用它是因为javascript确实禁用了?谢谢