Javascript “禁用”(灰色文本,无鼠标/键盘)jquery UI小部件和容器中的常规HTML
我有一个包含许多表单的应用程序,其中包含复选框,当取消选中时,这些复选框将禁用表单的各个部分。为了使这些表单更易于维护,我想创建一个方法来禁用容器,例如,包含表单UI的DIV,其中disable表示: 使用HTML disabled属性禁用所有表单输入字段 所有文本都将变为灰色 没有任何元素,特别是jQuery小部件(如选项卡)会响应键盘或鼠标输入 对于1,我使用jquery将disabled属性应用于每个输入、select和textarea。简单 对于2,我将对容器应用一个CSS类。disabled{color:999!important}。对于我自己的控件,例如链接按钮,我添加了额外的CSS规则来处理额外的禁用操作,比如像真正的按钮一样将背景变成不同的颜色 但是对于jQueryUI小部件,是否有一种通用的方法来禁用它们,这样我就不必构建单独的css类和/或脚本来处理禁用每种不同类型的小部件?例如,我可以应用一个特定的类或调用一个特定的方法来禁用遵循jqueryui编码标准的任何类型的jqueryui小部件吗Javascript “禁用”(灰色文本,无鼠标/键盘)jquery UI小部件和容器中的常规HTML,javascript,jquery,jquery-ui,javascript-events,Javascript,Jquery,Jquery Ui,Javascript Events,我有一个包含许多表单的应用程序,其中包含复选框,当取消选中时,这些复选框将禁用表单的各个部分。为了使这些表单更易于维护,我想创建一个方法来禁用容器,例如,包含表单UI的DIV,其中disable表示: 使用HTML disabled属性禁用所有表单输入字段 所有文本都将变为灰色 没有任何元素,特别是jQuery小部件(如选项卡)会响应键盘或鼠标输入 对于1,我使用jquery将disabled属性应用于每个输入、select和textarea。简单 对于2,我将对容器应用一个CSS类。disab
我也被困在3号。防止容器内的HTML响应任何键盘或鼠标输入(特别是包括jQueryUI小部件)的通用方法是什么 最好的方法是在具有onclick和onmouseover事件且仅返回false的所有内容上放置一个不可见的覆盖。这可能有点尴尬,但它肯定是最有效的。最好的方法是在所有具有onclick和onmouseover事件且仅返回false的事件之上放置一个不可见的覆盖。这可能有点尴尬,但肯定是最有效的。作为所有jQuery UI小部件基础的小部件工厂似乎至少尝试烘焙一些您可以使用的小部件,如:
$(dialogEl).dialog("disable");
基本功能,以及
有些小部件可能无法针对其特定情况正确覆盖此功能;你需要测试一下。但这似乎在大多数情况下都能奏效
备选方案:
您可能会从应用该类中获得一些好处,但它可能只对样式有效,而不会阻止任何响应
在某些浏览器中防止响应的一种方法是指针事件:无,但这是一种黑客行为,例如,不确定它是否具有您想要的键盘行为。作为所有jQuery UI小部件的基础的小部件工厂似乎至少尝试烘焙一些您可以这样使用的小部件:
$(dialogEl).dialog("disable");
基本功能,以及
有些小部件可能无法针对其特定情况正确覆盖此功能;你需要测试一下。但这似乎在大多数情况下都能奏效
备选方案:
您可能会从应用该类中获得一些好处,但它可能只对样式有效,而不会阻止任何响应
在某些浏览器中防止响应的一种方法是指针事件:无,但这是一种黑客行为,例如,不确定它是否具有您想要的键盘行为。我创建了一个jquery小部件来实现这一点。我只是把它放在Github上。我正在一个我工作的应用程序中使用它,它做得很好。
如果你愿意的话,你可以试一下 我创建了一个jquery小部件来实现这一点。我只是把它放在Github上。我正在一个我工作的应用程序中使用它,它做得很好。 如果你愿意的话,你可以试一下