我们先从浏览器按键时间说起,
用JavaScript实现键盘记录,要关注浏览器的三种按键事件类型,
它们分别对应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();")
在HTML中,Id属性是一个非常重要的元素,它可以为网页上的每个元素提供一个独特的标识符。通过Id属性,您可以精准地定位和操作特定的HTML元素,从而实现更细致的样式控制和交互功能。本文将为您揭示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>
有了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;
}
除了CSS,Id属性在JavaScript中也扮演着重要的角色。通过Id,您可以快速地获取和操作特定的HTML元素,实现各种交互效果。
<button id="myButton">点击我</button>
const button = document.getElementById('myButton');
button.addEventListener('click', () => {
alert('您点击了按钮!');
});
在使用Id属性时,有几个需要注意的最佳实践:
总之,HTML Id属性是一个非常强大的工具,它可以为网页元素提供独特的标识,从而帮助您实现精细化的样式控制和交互功能。只要掌握好它的用法,相信您一定能打造出令人惊叹的网页作品。
生成关于html中OnClick的头条爆款文章
好的,我为您生成了一篇关于HTML中onClick事件的头条爆款文章,以下是完整内容:
在HTML中,onClick事件是一种非常强大的交互功能,它可以让您的网页元素在用户点击时执行各种自定义的操作。无论是弹出提示框、切换样式还是触发复杂的交互效果,onClick事件都能轻松搞定。本文将为您揭示onClick事件的魔力,教您如何利用它打造出引人入胜的网页体验。
onClick事件最常见的应用就是为按钮添加点击响应。当用户点击按钮时,就会触发预先定义好的JavaScript代码,从而实现所需的功能。
<button onclick="showMessage()">点击我</button>
function showMessage() {
alert('您点击了按钮!');
}
除了按钮,您还可以为其他HTML元素如链接、图片等添加onClick事件,让整个网页变得生动有趣。
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会切换盒子元素的样式类,从而实现显示/隐藏的交互效果。
除了基本的交互,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}`);
}
在使用onClick事件时,有几个需要注意的最佳实践:
总之,HTML onClick事件是一个非常强大的交互工具,它可以让您的网页元素焕发生机,变得更加生动有趣。
*请认真填写需求信息,我们会在24小时内与您取得联系。