在iPhone这样的移动端测试时,我们会发现onclick事件有大约半秒的延迟,这是因为iOS系统需要等待一段时间来判断用户是点击还是拖动,所以会有失焦与点击事件的冲突。
问题描述:
给一个输入框设置失焦事件之后,失焦事件总是优先其它事件先触发,导致输入完成之后点击提交按钮无效。
拓展:①mousedown:在用户按下了任意鼠标按钮时触发。不能通过键盘触发这个事件。
②mouseup:在用户释放鼠标按钮时触发。不能通过键盘触发这个事件。
解决方案:
方法1、通过给失焦事件设置延迟触发。
方法2、将按钮的点击(click)事件改为按下(mousedown)事件。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<style type="text/css">
.father{
width: 500px;
height: 300px;
background: green;
padding-top: 20px;
}
.father input {
width: 120px;
height: 28px;
border: 1px solid blue;
}
.father button{
width: 60px;
height: 28px;
margin-left: 10px;
}
</style>
<script>
function btn() {
alert("you click it");
}
</script>
</head>
<body>
<div class="father" id="father" tabindex="1">
<input id="testInput" placeholder="请输入您的信息"><button id="testBtn" onclick="btn()">提交</button>
</div>
</body>
<script>
// 鼠标按下事件
$("#testBtn").mousedown(function(){
alert("my button mousedown");
});
// 输入框失焦事件
$("#testInput").blur(function(){
alert("now blur ~~~");
});
// 输入框失焦事件 延迟触发
// $("#testInput").blur(function(){
// setTimeout(function(){
// alert("now blur ~~~");
// }, 300)
// });
</script>
</html>
项目里还遇到一个问题,这里我是需要点击input框,弹出一个时间选择框。在IOS上发现点击input框后弹出时间选择框时,input会有焦点
$('#startDate').mousedown(function(e) {
setTimeout(function(){
$("#startDate").blur();
}, 10);
});
.
相关推荐
在本案例中,通过在blur事件中加入延时处理(使用setTimeout函数),可以解决点击事件被提前触发的问题。具体做法是,在blur事件处理函数中使用setTimeout延迟执行移除清除按钮的操作,给用户留出足够的时间完成点击...
### 网页输入框不能输入解决办法 在日常使用浏览器的过程中,我们经常...通过这些方法,大多数情况下都能够解决问题,让输入框恢复正常功能。当然,在实际操作过程中还需要根据具体情况灵活调整策略,以达到最佳效果。
我们可以使用`android:drawableRight`属性来实现这一点,但更好的方法是使用`app:endIconMode`(对于Android支持库版本26及以上),这样可以避免与系统功能冲突: ```xml android:id="@+id/text_input_layout" ...
3. **输入框焦点管理**: 对于多个输入框的情况,可以设置焦点转移逻辑,当用户完成一个输入框的输入并点击“下一步”或类似按钮时,自动跳转到下一个输入框,确保当前输入框总是在键盘上方。 4. **沉浸式键盘**: ...
本文主要介绍在使用jQuery处理`input`元素的`blur`事件与其他非表单元素的`click`事件时出现的冲突,以及如何解决这些问题。 ### 知识点一:blur事件和click事件的基本概念 - **blur事件**:在Web开发中,`blur`...
下面我们将深入探讨如何在Bootstrap中调整下拉列表与输入框组结合的样式。 首先,输入框组在HTML中的基本结构是`<div class="input-group">`,这个容器可以包含一个`<input>`元素,以及其他类型的元素如`<span>`...
参考微信的设计,表情按钮通常位于输入框旁边,点击后表情框会覆盖部分聊天界面。这里需要注意: 1. **表情框的显示和隐藏**:可以使用动画效果,如滑动、淡入淡出,使切换过程更加自然。同时,确保表情框的大小和...
在这个名为"jQuery验证码输入框代码.zip"的压缩包中,我们可能找到了一个专为验证码输入设计的高效解决方案。 验证码的主要目的是验证用户是否是真实的、有意识的人,而非机器。传统的验证码可能包括扭曲的文本图像...
此外,这种方法可能会覆盖其他可能存在的焦点事件处理,因此在实际应用时,应确保与现有代码兼容,并避免产生冲突。 总的来说,解决IE输入框不能输入的问题主要涉及到理解和利用浏览器的默认行为,以及合理地应用...
Python tkinter教程-04:输入框 文章目录0 准备工作1介绍2 基本用法3 通用方法4 启用与禁用5 显示方法6 获取内容7 插入与删除字符8 清空字符9 初始化字符10 重置字符 0 准备工作 要使用,先导入:import tkinter as...
在JavaFX中,事件是用户与应用程序交互时发生的动作,如点击按钮、输入文本等。每个事件都有一个特定的类型,比如`MouseEvent`、`ActionEvent`等。事件处理主要通过定义事件处理器来实现,例如,可以使用`...
6. **生命周期与事件处理**: Activity的生命周期方法如`onResume()`, `onPause()`等也可以用来处理特定的事件,比如在`onResume()`中启动定时任务,在`onPause()`中停止。 7. **触摸事件冲突**: 多个View同时...
Windows Forms中的`Control`类提供了`PerformClick`方法,可以模拟按钮的点击事件。但请注意,这仅适用于窗体内的控件,而非屏幕上的任意位置。 二、模拟键盘输入 1. 使用Windows API的SendInput函数: `SendInput...
- 当使用`window.location`进行页面跳转时,最好避免与页面上的其他JavaScript函数调用发生冲突。 - 使用`window.open`时,不同浏览器可能对其弹窗行为有不同限制,需要考虑兼容性问题。 - 在页面跳转前,进行必要的...
3. 通过"yes"回调函数处理确定按钮的点击事件,避免与"success"回调函数内的事件冲突。 4. 确保弹出框关闭逻辑正确执行,并且在适当的时机清除弹出框,以保持用户界面的整洁。 对于Web前端开发人员来说,掌握layer...
绑定keyup事件会将输入法中的英文文字输入到文字框并直接触发发送按钮 键盘事件: 当一个按键被pressed或者released,在每一个浏览器中都可能会触发三种键盘事件 keydown keypress keyup keydown事件发生在按键被按...
例如,如果PopWindow中包含可点击的元素(如按钮或输入框),可能会与当前Activity的焦点冲突,导致键盘无法正确弹出或者按钮点击事件不响应。解决这个问题通常需要对PopWindow的showAsDropDown()或showAtLocation()...
在实际项目中,开发者可能会遇到更多复杂情况,比如与其他插件的兼容性问题、样式冲突等。因此,了解并熟练掌握datetimepicker的API文档,以及对Bootstrap和jQuery的基本操作,是解决此类问题的关键。此外,对于开源...
标签“r键按钮提交表单代码”强调了这个功能的实现代码,这通常意味着开发者希望提供一个可复用的解决方案,使得用户可以通过自定义的键盘快捷键提交表单。 至于压缩包中的文件"jiaoben2761",根据其名称推测可能是...