JavaScript (JS)常用方法
正则修改 DOM 对象内容(使用JQuery库)
例子:把DOM对象里的把<span style="color: #008080;">NUM</span> 替换成空格
const regex = /\<span\ style\=\"color\:\ \#008080\;\"\>(\s\d+|\d+)\<\/span\>/gm;
let codeLine;
let preCodeLine; preCodeLine = obj.html().replace(regex, ` `);
codeLine = $("<div/>").html(preCodeLine); // 其中$("<div/>")算是空DOM对象
这样之后,仍然是一个DOM对象,只是完成了HTML内容的正则替换。
也可以用原生JS实现,具体见JQ源码
键盘事件
<html>
<head>
<script type="text/javascript">
function whichButton(event)
{
alert(event.keyCode)
} </script>
</head> <body onkeyup="whichButton(event)">
<p><b>注释:</b>在测试这个例子时,要确保右侧的框架获得了焦点。</p>
<p>在键盘上按一个键。消息框会提示出该按键的 unicode。</p>
</body> </html>
测试按键值
JS实现键盘监听(包括组合键)带键值表 如Ctrl+V
document.onkeydown=function(event){
var e = event || window.event || arguments.callee.caller.arguments[0]; {
if (e.keyCode == 86 && e.ctrlKey) {
alert("你按下了ctrl+V");
}
}
};
博客园实现快捷键Alt+上下方向键调到<h2>目录
按键名 KeyCode Up 38 Down 40 Alt_L 18 Alt_R Ctrl ctrlKey (大小写敏感) Alt altKey
按键名 KeyCode&特殊键
document.onkeydown=function(event){
var e = event || window.event || arguments.callee.caller.arguments[0]; {
if (e.keyCode == 40 && e.altKey) {
alert("你按下了alt+down");
}
}
};
Alt+Down测试
然后把alert()换成一个定位到<h2>的函数就OK
document.getElementsByTagName("h2")[num++].scrollIntoView();
<script type="text/javascript">
// 按下Alt+Down遍历跳转h2
var num = 0;
document.onkeydown=function(event){
var e = event || window.event || arguments.callee.caller.arguments[0]; { var k = document.getElementsByTagName("h2"); if (e.keyCode == 40 && e.altKey) {
num = (num > k.length)? k.length: num;
k[num++].scrollIntoView(false);
console.log("Alt+Down");
//alert("你按下了alt+down");
}
else if (e.keyCode == 38 && e.altKey) {
num = (num < 0)? 0: num;
k[num--].scrollIntoView();
console.log("Alt+Up");
//alert("你按下了alt+up");
} }
};
</script>
[完整版] JS按下Alt+Down 遍历跳转到
如果需要其他header,可以引用远程JQ库(不过好像博客园用了JQ库),然后用
$(":header"); 代替 document.getElementsByTagName("h2")[num++].scrollIntoView();
注意:博客园的JS代码里不能有alert( 字段,注释也不行
使得comfirm事件永远为真
var confirm=function(){return 1}
console.log输出字体颜色
自动播放
原帖:[Web] 解除 网课失去焦点/离开页面 就自动暂停 的限制-52pojie
本帖最后由 tuziang 于 2019-8-12 18:58 编辑
h5
如果视频是video元素,可以写个定时器,每秒钟设置一下播放状态
f12打开开发者工具,切换到console面板,输入下面代码并回车
setInterval(function () {
var current_video = document.getElementsByTagName('video')[0]
current_video.play()
}, 1000)
flash
如果是flash视频,可以重写失去焦点函数。
f12打开开发者工具,切换到console面板,输入下面代码并回车
if (!-[1,] && !window.XMLHttpRequest || navigator.userAgent.indexOf("MSIE 8.0") > 0) {
document.onfocusout = function () {
return true;
}
} else {
window.onblur = function () {
return true;
}
}
jQuery
这种方法没有验证,适合引用jQuery的网课平台。
方法:在浏览器地址栏输入
javascript:jQuery.fn.pauseMovie=function(){}
JavaScript (JS)常用方法的更多相关文章
- JavaScript数组常用方法解析和深层次js数组扁平化
前言 数组作为在开发中常用的集合,除了for循环遍历以外,还有很多内置对象的方法,包括map,以及数组筛选元素filter等. 注:文章结尾处附深层次数组扁平化方法操作. 作为引用数据类型的一种,在处 ...
- (2)Underscore.js常用方法
目录 1.集合相关方法 1.1.数组的处理 map(循环,有返回值),将返回的值依次存入一个新的数组 each(循环,无返回值 ...
- js常用方法和检查是否有特殊字符串和倒序截取字符串
js常用方法demo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...
- JavaScript 数组 常用方法(二)
写在前面:续接上篇 JavaScript 数组 常用方法 数组常用方法第二弹来了: some && every 描述: every()与some()方法都是JS中数组的迭代方法. so ...
- javascript(js)小数精度丢失的解决方案
原因:js按照2进制来处理小数的加减乘除,在arg1的基础上 将arg2的精度进行扩展或逆扩展匹配,所以会出现如下情况. javascript(js)的小数点加减乘除问题,是一个js的bug如0.3* ...
- 【转】关于URL编码/javascript/js url 编码/url的三个js编码函数
来源:http://www.cnblogs.com/huzi007/p/4174519.html 关于URL编码/javascript/js url 编码/url的三个js编码函数escape(),e ...
- paip.java 以及JavaScript (js) 的关系以及区别
paip.java 以及JavaScript (js) 的关系以及区别 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http:// ...
- 关于URL编码/javascript/js url 编码/url的三个js编码函数
关于URL编码/javascript/js url 编码/url的三个js编码函数escape(),encodeURI(),encodeURIComponent() 本文为您讲述关于js(javasc ...
- JavaScript js无间断滚动效果 scrollLeft方法 使用模板
JavaScript js无间断滚动效果 scrollLeft方法 使用模板 <!DOCTYPE HTML><html><head><meta charset ...
随机推荐
- Redis缓存穿透,缓存击穿,缓存雪崩,热点Key
导读 使用Redis难免会遇到Redis缓存穿透,缓存击穿,缓存雪崩,热点Key的问题.有些同学可能只是会用Redis来存取,基本都是用项目里封装的工具类来操作.但是作为开发,我们使用Redis时可能 ...
- Vue动态修改网页标题
业务需求,进入页面的时候,网页有个默认标题,加载的网页内容不同时,标题需要变更. 例:功能授权,功能授权(张三). Vue下有很多的方式去修改网页标题,这里总结下解决此问题的几种方案: 一.最笨方案 ...
- Logstash:把MySQL数据导入到Elasticsearch中
Logstash:把MySQL数据导入到Elasticsearch中 前提条件 需要安装好Elasticsearch及Kibana. MySQL安装 根据不同的操作系统我们分别对MySQL进行安装.我 ...
- mysql 开启慢查询及其用mysqldumpslow做日志分析
mysql慢查询日志是mysql提供的一种日志记录,它是用来记录在mysql中相应时间超过阈值的语句,就是指运行时间超过long_query_time值的sql,会被记录在慢查询日志中.long_qu ...
- Ubuntu 限制 指定端口和IP 访问
限制端口和IP的时候 要注意别自己登陆不进去了,要不就惨了. 只允许指定的IP访问服务器的指定端口:22 只允许访问的ip: 192.168.1.1 192.168.1.2 192.168.1.3,禁 ...
- 快速上手Mac效率神器Alfred以及Alfred常用操作
前言 Alfred,想必大家就算没用过也耳闻过.Alfred是一个让你可以丢掉鼠标的神器.很多读者可能之前认为Alfred的学习成本高,或者感觉它太复杂,而望之却步.其实Alfred并非高不可攀,本文 ...
- 第九届极客大挑战——怎么又是江师傅的秘密(java反序列化)
这道题其实是考jsp和java的,我没学过jsp,java倒是有一点了解,但是刚拿到题的时候还是看不懂java代码里的内容,所以去简单学习了下jsp(jsp教程),按照教程里的步骤搭建了eclipse ...
- 对cell每一行做标记
通过数组进行标记 初始化列表的时候给一个值如 for (int i = 0; i < [self.tableData count]; i++) { [_allOrderBoo ...
- To B产品,业务方全程蒙蔽怎么搞?
这是发生在很久前的事,那会我还是产品实习生. 今天和业务部门进行需求审核,对的是公司内部SAAS系统的采购模块.怎么说呢?就是觉得不专业吧 辛辛苦苦把原 ...
- inndo 表与存储逻辑_1
------------------------------------------2015-03-03--------------------------------------- 表 : inno ...