- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我使用虚拟小键盘工作。
我构建了一个在模态窗口中打开的键盘;当我在后台打开输入窗口时,它是不可见的。
我的想法是在模态窗口中创建输入。
我希望能够将输入字段中的实时值复制到模态输入字段中。
我的代码:
(function($) {
"use strict";
$.fn.virtualKeyboard = function(options) {
var defaults = {
number: true,
allowRealKeyboard: true,
maxLength: 16
};
var $virtualKeyboard = $(this);
var settings = $.extend(true, defaults, options);
var $creditInput = $(settings.inputs.credit.class);
var $currentInput = "";
var Validation = {
interger: function(number) {
if (isNaN((number))) {
throw new Error("Error: Not a interger");
}
return true;
},
creditRange: function(number) {
if (number >= 0 && number < 10) {
return true;
}
throw new Error("Error: Not between 1 and 9");
},
maxLength: function(number) {
return number >= settings.maxLength ? true : false;
}
};
$virtualKeyboard.on("click", settings.buttons.number.class, function(
event
) {
event.preventDefault();
if ($currentInput) {
var keyBoardVal = $(this).val(),
currentVal = $currentInput.val();
if (!Validation.maxLength(currentVal.length)) {
if (
Validation.interger(keyBoardVal) &&
Validation.creditRange(keyBoardVal)
) {
if (currentVal && Validation.interger(currentVal)) {
$currentInput.val(String(currentVal) + String(keyBoardVal));
} else {
$currentInput.val(keyBoardVal);
}
}
}
if (Validation.maxLength($currentInput.val().length)) {
$currentInput.next().focus();
}
}
});
$creditInput.focus(function() {
$currentInput = $(this);
$creditInput.removeClass("active");
$currentInput.addClass("active");
});
if (!settings.allowRealKeyboard) {
$creditInput.keypress(function(e) {
e.preventDefault();
return;
});
}
};
})(jQuery);
$(function() {
$(".virtual-keyboard").virtualKeyboard({
number: true,
allowRealKeyboard: false,
buttons: {
number: {
class: ".ui-virtual-keyboard",
type: "number"
}
},
inputs: {
credit: {
class: ".ui-keyboard-input",
type: "number"
}
}
});
});
$(function () {
var $inputFields= $('.ui-keyboard-input');
var $keyboardInput = $('#keyboardInput');
function onChange() {
console.log($keyboardInput.val())
$keyboardInput.val($inputFields.val());
};
$('.ui-keyboard-input')
.change(onChange)
.keyup(onChange);
});
$('.del').click(function() {
$('.ui-keyboard-input.active').val(function() {
return $(this).val().substring(0, $(this).val().length - 1)
});
});
$(".ui-keyboard-input").on("click", function() {
$('.modal, .cover').removeClass("hidden");
$('.modal').addClass("zoom");
$('.input').val("");
});
$(".cover, .close").on("click", function() {
$('.modal').attr('class', 'modal');
$('.modal, .cover').addClass("hidden");
});
.virtual-keyboard .number {
margin: 15px;
width: 150px;
height: 150px;
font-size: 20px;
font-weight: bold;
border-radius: 50%;
background-color: #878787;
color: #fff;
border-color: #fff;
}
.cover {
z-index: 1;
position: fixed;
height: 100%;
width: 100%;
background-color: #333;
top: 0;
left: 0;
opacity: .9;
}
.modal {
z-index: 2;
height: 600px;
width: 800px;
background-color: #262626;
border-radius: 5px;
text-align: center;
border-top: solid 3px #262626;
position: absolute;
opacity: 0.9;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
.modal .content p {
font-size: 2em;
color: #fff;
height: 50px;
width: 100%;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='modal hidden'>
<div class='content'>
<input type="text" id="keyboardInput" value="1">
<div class="virtual-keyboard">
<button class="ui-virtual-keyboard number" value="1">1</button>
<button class="ui-virtual-keyboard number" value="2">2</button>
<button class="ui-virtual-keyboard number" value="3">3</button>
<button class="ui-virtual-keyboard number" value="4">4</button>
<button class="ui-virtual-keyboard number" value="5">5</button>
<button class="ui-virtual-keyboard number" value="6">6</button>
<button class="ui-virtual-keyboard number" value="7">7</button>
<button class="ui-virtual-keyboard number" value="8">8</button>
<button class="ui-virtual-keyboard number" value="9">9</button>
<button class="ui-virtual-keyboard number" value="0">0</button>
<button class="ui-virtual-keyboard number del">del</button>
</div>
</div>
</div>
<input class="numbQuan ui-keyboard-input number" type="text" required />
<input class="numbNest ui-keyboard-input number" type="text" required />
<input class="numbCyclesui-keyboard-input number" type="text" required />
<input class="numbLayersui-keyboard-input number" type="text" required />
$(function () {
var $inputFields= $('.ui-keyboard-input');
var $keyboardInput = $('#keyboardInput');
function onChange() {
console.log($keyboardInput.val())
$keyboardInput.val($inputFields.val());
};
$('.ui-keyboard-input')
.change(onChange)
.keyup(onChange);
});
我有一个从字段中获取值的函数,但它不起作用。我不确定为什么。
在图片中您可以看到示例,每个字段的值都应该转到键盘中的字段。
最佳答案
Jquery 未检测到 val()
上的更改,因此该函数是可行的方法,但它被调用超出范围,使用 mouseup
会更好。像这样:
function onChange() {
var $inputFields= $('.ui-keyboard-input');
var $keyboardInput = $('#keyboardInput');
console.log($keyboardInput.val())
$keyboardInput.val($inputFields.val());
};
$('.ui-virtual-keyboard').on('mouseup', onChange);
这会将值设置为延迟一个字符,为了使其正常工作我建议阅读 virtualKeyboard 文档以将其事件从 click
更改为至 mousedown
.
不确定中间字段的用途,但如果要连接以上所有四个字段,您将需要创建一个函数来执行此操作,它不会通过获取类 val()
自动执行此操作,因为这将选择所有四个输入。
你的第三个和第四个字段也有类错误,你应该把它从之前的类中分离出来,否则它对它们不起作用。
我还将这个已删除的方法更改为类似这样的方法,因为它更简单:
$('.del').click(function() {
$('.ui-keyboard-input.active').val(function(_,val) {
return val.slice(0, -1);
});
});
关于javascript - 如何使用 jQuery 将一个字段的内容复制到另一个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56539326/
我正在编写一个应用程序,允许用户创建一个“问卷”,然后向其中添加问题。我正在使用核心数据来存储信息。我创建了一个问卷实体,并与问题实体建立了“一对多”关系。我的问题是,如果要允许用户复制(复制)整个调
有没有办法复制或复制 SharedPreference?或者我需要从一个变量中获取每个变量,然后将它们放入另一个变量中吗? 最佳答案 尝试这样的事情: //sp1 is the shared pref
下面的(A)和(B)有区别吗? (假设 NON ARC,如果重要的话) // --- (A) --- @interface Zoo : NSObject{} @property (copy) Dog
我正在尝试将 mysql SELECT 查询保存到文件中,如下所示: $result = mysqli_query($db,$sql); $out = fopen('tmp/csv.csv', 'w'
我需要创建一个 CVPixelBufferRef 的副本,以便能够使用副本中的值以按位方式操作原始像素缓冲区。我似乎无法使用 CVPixelBufferCreate 或 CVPixelBufferCr
我在 Source 文件夹中有一个 Active wave 录音 wave-file.wav。我需要使用新名称 wave-file-copy.wav 将此文件复制到 Destination 文件夹。
在使用 GNU Autotools 构建的项目中,我有一个脚本需要通过 make 修改以包含安装路径。这是一个小例子: configure.ac: AC_INIT(foobar, 1.0) AC_PR
我想将 SQL 的行复制到同一个表中。但是在我的表中,我有一个“文本”列。 使用此 SQL: CREATE TEMPORARY TABLE produit2 ENGINE=MEMORY SELECT
谁能给我解释一下 df2 = df1 df2 = df1.copy() df3 = df1.copy(deep=False) 我已经尝试了所有选项并执行了以下操作: df1 = pd.DataFram
Hazelcast 是否具有类似于 Ehcache 的复制? http://www.ehcache.org/generated/2.9.0/pdf/Ehcache_Replication_Guide.
我有以下拓扑。一个 Ubuntu 16.04。运行我的全局 MySQL 服务器的 Amazon AWS 上的实例。我想将此服务器用作许多本地主服务器(Windows 机器 MySQL 服务器)的从服务
使用 SQLyog,我正在测试表中是否设置了正确的值。我尝试过 SELECT type_service FROM service WHERE email='test@gmail.com' 因此,只输出
有人可以提供一些关于如何配置 ElasticSearch 进行复制的说明。我在 Windows 中运行 ES,并且了解如果我在同一台服务器上多次运行 bat 文件,则会启动一个单独的 ES 实例,并且
一 点睛 ThreadGroup 复制线程的两个方法。 public int enumerate(Thread list[]) // 会将 ThreadGroup 中的 active 线程全部复制到
一 点睛 ThreadGroup 复制线程组的两个方法。 public int enumerate(ThreadGroup list[]) // 相对于 enumerate(list,true) pu
官方documentation Cassandra 说: Configure the keyspace and create the new datacenter: Use ALTER KEYSPAC
This question already has answers here: How to weight smoothing by arbitrary factor in ggplot2? (2个答
我们有一个表格来表明对各种俱乐部的兴趣。输出将数据记录在 Excel 电子表格中,其中列有他们的首选姓名、姓氏、电子邮件、代词,以及他们感兴趣的俱乐部的相应列中的“1”(下面的模型)。 我们希望为俱乐
This question already has answers here: Closed 8 years ago. Possible Duplicate: In vim, how do I get
如何复制形状及其所在的单元格?当我手动复制时,形状会跟随单元格,但是当我使用宏进行复制时,我会得到除形状之外的所有其他内容。 Cells(sourceRow, sourceColumn).Copy C
我是一名优秀的程序员,十分优秀!