整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

详细说说JavaScript 键盘事件keydown、keypress、keyup

览器的按键事件

我们先从浏览器按键时间说起,

用JavaScript实现键盘记录,要关注浏览器的三种按键事件类型,

  • keydown
  • keypress
  • keyup

它们分别对应onkeydown、 onkeypress和onkeyup这三个事件句柄。一个典型的按键会产生所有这三种事件,依次是keydown,keypress,然后是按键释放时候的keyup。

KeyDown:在控件有焦点的情况下按下键时发生。

KeyPress:在控件有焦点的情况下按下键时发生。

KeyUp:在控件有焦点的情况下释放键时发生。

在这3种事件类型中,keydown和keyup比较底层,而keypress比较高级。这里所谓的高级是指,当用户按下shift + 1时,keypress是对这个按键事件进行解析后返回一个可打印的“!”字符,而keydown和keyup只是记录了shift + 1这个事件。

但是keypress只能针对一些可以打印出来的字符有效,而对于功能按键,如F1-F12、Backspace、Enter、Escape、 PageUP、PageDown和箭头方向等,就不会产生keypress事件,但是可以产生keydown和keyup事件。然而在FireFox中,功能按键是可以产生keypress事件的。

传递给keydown、keypress和keyup事件句柄的事件对象有一些通用的属性。如果Alt、Ctrl或Shift和一个按键一起按下,这通过事件的altKey、ctrlKey和shiftKey属性表示,这些属性在FireFox和IE中是通用的。

注意:

KeyDown触发后,不一定触发KeyUp,当KeyDown 按下后,拖动鼠标,那么将不会触发KeyUp事件。

KeyPress主要用来捕获数字(注意:包括Shift+数字的符号)、字母(注意:包括大小写)、小键盘等 除了 F1-12、SHIFT、Alt、Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、{菜单键}、{开始键}和方向键 外的ANSI字符

KeyPress 只能捕获单个字符,可以捕获单个字符的大小写,不区分小键盘和主键盘的数字字符。

KeyDown 和KeyUp 通常可以捕获键盘除了PrScrn(截屏)所有按键

KeyDown 和KeyUp 可以捕获组合键,对于单个字符捕获的KeyValue 都是一个值,也就是不能判断单个字符的大小写,区分小键盘和主键盘的数字字符。

其中PrScrn 按键KeyPress、KeyDown和KeyUp 都不能捕获。

keydown、keypress 按着不动会持续执行事件,keyup执行一次

在使用键盘的时候,通常会使用到CTRL+SHIFT+ALT 类似的组合键功能,通过KeyUp 事件能够来处理(这里说明一下为什么不用KeyDown,因为在判定KeyDown的时候,CTRL、SHIFT和ALT 属于一直按下状态,然后再加另外一个键是不能准确捕获组合键,所以使用KeyDown 是不能准确判断出的,要通过KeyUp 事件来判定 )

前端架构暴力拆解,源码解析,多年经验分享,请持续关注!

猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想学习按键精灵的朋友可以添加金猪脚本粉丝交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.

1.什么是网页元素特征字符串?

请参考网页特征字符串详解;

2.Html系列命令

2.1.HtmlSelect命令

1)HtmlSelect命令只能够根据Select项的值来进行选择,注意这里不是显示在Select项上的文字,而是该项的value。

一个典型的下拉框HTML代码如下:

<select name="city">

<option value="1">北京</option>

<option value="2">上海</option>

<option value="3">广州</option>

</select>

这里如果要选择上海,需要选择值为2的项;

2)级联的下拉列表组合。

在有的网页中,会有几个级联的下拉列表,后一个下拉框会随前一个框的值变化而发生变化,典型的有注册页面上的省份城市选择,HtmlSelect命令能够触发Onchange事件,会导致后一个下拉框值发生变化,但是如果执行脚本太快,而导致后一个未能选中正确的值,可以在前一个HtmlSelect后加上适当的延时;

3)多选表单中的列表控件;有的列表支持多选,在有一些个求职网站中,职业是可以多选的,这时候可以用%将多个需要选择的值连接起来传递给HtmlSelect命令实现多选;

2.2.HtmlExists命令

HtmlExists命令,能够判断指定特征的元素是否存在,并能够返回具备该特征的元素的个数。这个命令能够用来判断某个元素是否存在,如果为0证明不存在;

2.3.HtmlGet命令

HtmlGet命令比较复杂,但是功能也非常强大,该命令具备两个参数,第一个参数为获取类型,目前支持的值如下所示:

序号 值 适用对象

1 text 得到指定元素的文本值,对应DOM属性innerText

2 html 得到指定元素内部的HTML代码,对应DOM属性innerHTML

3 outerHtml 得到元素整体的HTML代码,对应DOM属性的outerHTML

4 value 得到元素的Value值,用于获取表单元素内部的值

5 src 得到图像元素的src属性,用于IMG标签对象

6 href 得到链接元素的链接地址,用于A标签

7 …其他名称 其他属性,如果您使用的是合法的属性名称,就能够返回对应的值。如何才是合法的属性?请参阅HTML标准。

第二个参数为特征字符串,如果匹配多个,只能返回第一个元素的值;

例如,获得淘宝货物价格:

Plugin price=Web.HtmlGet("text","id:id_Price")

获取某个表单文本的值

Plugin email=Web.HtmlGet("value","name:Email")

2.4.RunJS命令

RunJS命令提供了直接运行Javascript的功能,如果您对JS非常熟悉,就能够极大的扩展WQM的功能。

RunJS命令支持两中执行方式,第一个参数设置为0时,能够执行一段没有返回值的Javascript,

例如:

RunJS(0,"alert('hello');")

第一个参数设置为1时,能执行一段js并返回由return语句返回的值,返回值为字符串类型;

例如:返回Html文档的title;

RunJS(1,"var t=document.title;return t;")

如果您分析到网页中某个按钮实际上就是执行了一个函数,例如

<input type="Button" … />

您就可以直接调用

RunJS(0,"dosomething();")

JQuery的支持,网页按键精灵集成了Jquery1.3.2,为了不与其他JQ的库发生冲突,使用了wqmjq来代替$操作符,如果您需要直接使用JQ来操作网页,可使用wqmjq来执行Jquery语句:

RunJS(0,"wqmjq('#test').click();")

d属性 - 赋予网页元素个性化标识的关键所在

在HTML中,Id属性是一个非常重要的元素,它可以为网页上的每个元素提供一个独特的标识符。通过Id属性,您可以精准地定位和操作特定的HTML元素,从而实现更细致的样式控制和交互功能。本文将为您揭示Id属性的魔力,教您如何利用它来打造出与众不同的网页体验。

1. Id属性的基本用法

Id属性的值必须在整个HTML文档中是唯一的,这使它成为定位和操作特定元素的理想选择。通常情况下,我们会为页面中的重要元素如页头、导航栏、主内容区域等分别设置Id。

<header id="header">
  <nav id="nav">
    <ul>
      <li><a href="#">首页</a></li>
      <li><a href="#">产品</a></li>
      <li><a href="#">关于我们</a></li>
    </ul>
  </nav>
</header>

<main id="main">
  <section id="hero">
    <h1>欢迎来到我的网站</h1>
    <p>这里是网站的主要内容区域</p>
  </section>
</main>

2. Id属性与CSS的结合

有了Id属性,您可以在CSS中直接针对特定元素进行样式定制。这种精准的选择器使您能够更好地控制网页的视觉效果。

#header {
  background-color: #333;
  color: #fff;
  padding: 20px;
}

#nav ul {
  list-style-type: none;
  display: flex;
}

#nav li a {
  color: #fff;
  text-decoration: none;
  padding: 10px 20px;
}

#hero {
  background-color: #f2f2f2;
  padding: 50px;
  text-align: center;
}

3. Id属性与JavaScript的结合

除了CSS,Id属性在JavaScript中也扮演着重要的角色。通过Id,您可以快速地获取和操作特定的HTML元素,实现各种交互效果。

<button id="myButton">点击我</button>
const button = document.getElementById('myButton');

button.addEventListener('click', () => {
  alert('您点击了按钮!');
});

4. Id属性的最佳实践

在使用Id属性时,有几个需要注意的最佳实践:

  1. Id值应该具有描述性,方便理解和维护
  2. 尽量避免在CSS中过度使用Id选择器,保持CSS规则的灵活性
  3. 结合Class属性使用,提高代码的可读性和可维护性
  4. 在JavaScript中谨慎使用Id,以免造成过度耦合

总之,HTML Id属性是一个非常强大的工具,它可以为网页元素提供独特的标识,从而帮助您实现精细化的样式控制和交互功能。只要掌握好它的用法,相信您一定能打造出令人惊叹的网页作品。

生成关于html中OnClick的头条爆款文章

好的,我为您生成了一篇关于HTML中onClick事件的头条爆款文章,以下是完整内容:

HTML onClick事件:点击即可触发的魔法

onClick事件 - 让网页元素动起来的神奇开关

在HTML中,onClick事件是一种非常强大的交互功能,它可以让您的网页元素在用户点击时执行各种自定义的操作。无论是弹出提示框、切换样式还是触发复杂的交互效果,onClick事件都能轻松搞定。本文将为您揭示onClick事件的魔力,教您如何利用它打造出引人入胜的网页体验。

1. onClick事件的基本用法

onClick事件最常见的应用就是为按钮添加点击响应。当用户点击按钮时,就会触发预先定义好的JavaScript代码,从而实现所需的功能。

<button onclick="showMessage()">点击我</button>
function showMessage() {
  alert('您点击了按钮!');
}

除了按钮,您还可以为其他HTML元素如链接、图片等添加onClick事件,让整个网页变得生动有趣。

2. onClick事件与JavaScript的深度结合

onClick事件的真正威力在于它能与JavaScript无缝结合,实现各种复杂的交互效果。您可以利用JavaScript操作DOM,动态地改变元素的样式、内容甚至触发其他事件。

<div id="box" class="box">这是一个盒子</div>
<button onclick="toggleBox()">切换盒子</button>
function toggleBox() {
  const box = document.getElementById('box');
  box.classList.toggle('active');
}

在这个例子中,当用户点击按钮时,JavaScript会切换盒子元素的样式类,从而实现显示/隐藏的交互效果。

3. onClick事件的高级应用

除了基本的交互,onClick事件还可以用于触发更复杂的功能,如表单提交、数据请求、动画效果等。您可以将onClick事件与其他事件监听器、API调用等技术相结合,打造出令人惊叩的网页体验。

<form onsubmit="submitForm(event)">
  <input type="text" id="name" placeholder="请输入您的名字" />
  <button type="submit">提交</button>
</form>
function submitForm(event) {
  event.preventDefault(); // 阻止表单默认提交行为
  const nameInput = document.getElementById('name');
  const name = nameInput.value;
  // 执行表单提交的其他逻辑
  console.log(`您的名字是: ${name}`);
}

4. onClick事件的最佳实践

在使用onClick事件时,有几个需要注意的最佳实践:

  1. 尽量将JavaScript代码与HTML分离,提高代码的可维护性
  2. 合理地组织事件处理函数,避免过度耦合
  3. 注意事件的冒泡和捕获机制,防止意外触发
  4. 结合其他事件监听器如onMouseOver、onKeyDown等,增强交互体验

总之,HTML onClick事件是一个非常强大的交互工具,它可以让您的网页元素焕发生机,变得更加生动有趣。