📜  jQWidgets jqxNumberInput 完整参考(1)

📅  最后修改于: 2023-12-03 15:16:55.886000             🧑  作者: Mango

jQWidgets jqxNumberInput 完整参考

jQWidgets是一个基于JavaScript语言的前端组件库,其中包含了jqxNumberInput组件,它可用于在Web页面中创建数字输入框。本篇文章将详细介绍jqxNumberInput的使用方法和API说明。

安装

可以通过以下方式安装jqxNumberInput:

  • 直接下载jqxNumberInput的相关文件
  • 使用npm安装:npm install jqwidgets-framework

其中,下载的文件中应该包括以下两个文件:

  • jqxwidgets.js:jQWidgets固件文件
  • jqxNumberInput.js:jqxNumberInput组件的文件
引用

在HTML文件中,我们需要引用这两个文件。代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="jqxwidgets.js"></script>
    <script type="text/javascript" src="jqxNumberInput.js"></script>
</head>
<body>
    <input type="text" id="numberInput" />
</body>
</html>
使用

使用jqxNumberInput,我们可以在Web页面中创建数字输入框。代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="jqxwidgets.js"></script>
    <script type="text/javascript" src="jqxNumberInput.js"></script>
</head>
<body>
    <input type="text" id="numberInput" />
    <script type="text/javascript">
        $(document).ready(function () {
            $("#numberInput").jqxNumberInput({ width: 250, height: 25 });
        });
    </script>
</body>
</html>

在上面的例子中,我们使用了jqxNumberInput方法来创建数字输入框。该方法需要传入一个选项对象,用于设置数字输入框的属性。在这个例子中,我们设置了数字输入框的宽度和高度。

选项

在jqxNumberInput方法中可以传入一些选项对象,用于设置数字输入框的属性。这里列出了一些常用的选项:

| 选项 | 类型 | 说明 | | ------ | ------- | -------------------------------------------------------- | | width | number | 设置数字输入框的宽度 | | height | number | 设置数字输入框的高度 | | min | number | 设置数字输入框的最小值。默认值为0 | | max | number | 设置数字输入框的最大值。默认值为100 | | value | number | 设置数字输入框的初始值。默认值为0 | | decimalDigits | number | 设置数字输入框的小数点位数。默认值为0 | | disabled | boolean | 禁用数字输入框。默认值为false。 | | readOnly | boolean | 设置数字输入框为只读模式。默认值为false。 | | inputMode | string | 设置数字输入框的输入模式。默认值为'advanced'。 | | textAlign | string | 设置数字输入框的文本对齐方式。默认值为'right'。 |

方法

下面是一些常用的jqxNumberInput方法:

| 方法 | 说明 | | ---------------- | ------------------------------------------------------ | | val(value) | 设置或获取数字输入框的值 | | destroy() | (function) 销毁数字输入框 | | disable() | 禁用数字输入框 | | enable() | 启用数字输入框 | | focus() | 设置数字输入框为当前焦点 | | refresh() | 刷新数字输入框的样式和属性 | | render() | 呈现数字输入框 | | val(value: number) | 设置或获取数字输入框的值 | | selectAll() | 选择数字输入框中的所有文本 | | selectRange(start:? number, end:? number) | 选择数字输入框的指定范围的文本 | | setOptions(options: Object) | 设置数字输入框的选项 |

事件

我们可以在jqxNumberInput组件中使用几个常用的事件来监听数字输入框的状态改变:

| 事件 | 说明 | | ---------------------- | ------------------------------------------------------------ | | valueChanged(event) | 每当数字输入框的值发生变化时触发 | | textChanged(event) | 每当数字输入框的文本发生变化时触发 | | focus(event) | 当数字输入框获得焦点时触发 | | blur(event) | 当数字输入框失去焦点时触发 | | keydown(event) | 按下键盘上的任何键时触发(当按下住一个键时,会反复触发该事件) | | keyup(event) | 松开键盘上的任何键时触发(当按下住一个键时,会反复触发该事件) | | keypress(event) | 当按下键盘的字符发生时触发(在文本输入框中很有用) | | mouseenter(event) | 鼠标进入数字输入框时触发 | | mouseleave(event) | 鼠标离开数字输入框时触发 | | mousemove(event) | 鼠标在数字输入框上移动时触发 | | mousedown(event) | 当鼠标按钮在数字输入框上按下时触发 | | mouseup(event) | 当鼠标按钮从数字输入框上松开时触发 | | paste(event) | 粘贴文本时触发 | | copy(event) | 复制选定文本时触发 | | cut(event) | 剪切选定文本时触发 | | propertychange(event) | 每当数字输入框的属性发生变化时触发 | | change(event) | 相当于valueChanged(event)事件,每当数字输入框的值发生变化时触发 | | input(event) | 相当于textChanged(event)事件,每当文本框中的文本发生变化时触发 |

以上这些事件可以在设置数字输入框属性的时候添加到jqxNumberInput组件中。

样式

jqxNumberInput组件的样式可以通过CSS类来设置,以下两个CSS类是用于数字输入框的:

  • jqx-numberinput:用于数字输入框的外包装元素
  • jqx-numberinput-content:用于数字输入框中的文本元素

可以基于这些CSS类或添加其他CSS类来自定义样式。

示例

下面是一个完整的例子,使用jqxNumberInput来创建数字输入框:

<!DOCTYPE html>
<html>
<head>
    <title>jqxNumberInput 示例</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="jqxwidgets.js"></script>
    <script type="text/javascript" src="jqxNumberInput.js"></script>
    <style type="text/css">
        .container {
            margin: 10px;
            padding: 10px;
            border: 1px solid gray;
        }

        .myStyle {
            background-color: yellow;
        }
    </style>
</head>
<body>
    <div class="container">
        <input type="text" id="numberInput1" />
    </div>
    <div class="container">
        <input type="text" id="numberInput2" />
    </div>
    <script>
        $(function () {
            $('#numberInput1').jqxNumberInput({
                width: '200px', height: '25px',
                min: 0, max: 100, decimalDigits: 2, value: 50,
                inputMode: 'simple', textAlign: 'center',
                disabled: false, readOnly: false, theme: 'classic'
            });

            $('#numberInput2').jqxNumberInput({
                width: '200px', height: '25px',
                min: 0, max: 100, decimalDigits: 2, value: 50,
                inputMode: 'simple', textAlign: 'center',
                disabled: false, readOnly: false, theme: 'classic',
                template: 'error', promptChar: '*', spinButtons: false, roundRobin: false
            });       
        });
    </script>
</body>
</html>

在这个例子中,我们创建了两个数字输入框,并设置了一些选项,如最小值,最大值,小数位数,输入模式等。注意,我们还可以使用theme选项来设置数字输入框的主题风格。

通过这个例子,我们可以大致了解jqxNumberInput组件的使用,开发者可以根据实际情况具体使用和定制。