正则修改 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源码

键盘事件

被按的按键的 unicode 是?

 <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();

详见:jQuery获取h1-h6元素的值

 注意:博客园的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)常用方法的更多相关文章

  1. JavaScript数组常用方法解析和深层次js数组扁平化

    前言 数组作为在开发中常用的集合,除了for循环遍历以外,还有很多内置对象的方法,包括map,以及数组筛选元素filter等. 注:文章结尾处附深层次数组扁平化方法操作. 作为引用数据类型的一种,在处 ...

  2. (2)Underscore.js常用方法

    目录 1.集合相关方法        1.1.数组的处理                map(循环,有返回值),将返回的值依次存入一个新的数组                each(循环,无返回值 ...

  3. js常用方法和检查是否有特殊字符串和倒序截取字符串

     js常用方法demo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  4. JavaScript 数组 常用方法(二)

    写在前面:续接上篇 JavaScript 数组 常用方法 数组常用方法第二弹来了: some && every 描述: every()与some()方法都是JS中数组的迭代方法. so ...

  5. javascript(js)小数精度丢失的解决方案

    原因:js按照2进制来处理小数的加减乘除,在arg1的基础上 将arg2的精度进行扩展或逆扩展匹配,所以会出现如下情况. javascript(js)的小数点加减乘除问题,是一个js的bug如0.3* ...

  6. 【转】关于URL编码/javascript/js url 编码/url的三个js编码函数

    来源:http://www.cnblogs.com/huzi007/p/4174519.html 关于URL编码/javascript/js url 编码/url的三个js编码函数escape(),e ...

  7. paip.java 以及JavaScript (js) 的关系以及区别

    paip.java 以及JavaScript (js) 的关系以及区别 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http:// ...

  8. 关于URL编码/javascript/js url 编码/url的三个js编码函数

    关于URL编码/javascript/js url 编码/url的三个js编码函数escape(),encodeURI(),encodeURIComponent() 本文为您讲述关于js(javasc ...

  9. JavaScript js无间断滚动效果 scrollLeft方法 使用模板

    JavaScript js无间断滚动效果 scrollLeft方法 使用模板 <!DOCTYPE HTML><html><head><meta charset ...

随机推荐

  1. Redis缓存穿透,缓存击穿,缓存雪崩,热点Key

    导读 使用Redis难免会遇到Redis缓存穿透,缓存击穿,缓存雪崩,热点Key的问题.有些同学可能只是会用Redis来存取,基本都是用项目里封装的工具类来操作.但是作为开发,我们使用Redis时可能 ...

  2. Vue动态修改网页标题

    业务需求,进入页面的时候,网页有个默认标题,加载的网页内容不同时,标题需要变更. 例:功能授权,功能授权(张三). Vue下有很多的方式去修改网页标题,这里总结下解决此问题的几种方案: 一.最笨方案 ...

  3. Logstash:把MySQL数据导入到Elasticsearch中

    Logstash:把MySQL数据导入到Elasticsearch中 前提条件 需要安装好Elasticsearch及Kibana. MySQL安装 根据不同的操作系统我们分别对MySQL进行安装.我 ...

  4. mysql 开启慢查询及其用mysqldumpslow做日志分析

    mysql慢查询日志是mysql提供的一种日志记录,它是用来记录在mysql中相应时间超过阈值的语句,就是指运行时间超过long_query_time值的sql,会被记录在慢查询日志中.long_qu ...

  5. Ubuntu 限制 指定端口和IP 访问

    限制端口和IP的时候 要注意别自己登陆不进去了,要不就惨了. 只允许指定的IP访问服务器的指定端口:22 只允许访问的ip: 192.168.1.1 192.168.1.2 192.168.1.3,禁 ...

  6. 快速上手Mac效率神器Alfred以及Alfred常用操作

    前言 Alfred,想必大家就算没用过也耳闻过.Alfred是一个让你可以丢掉鼠标的神器.很多读者可能之前认为Alfred的学习成本高,或者感觉它太复杂,而望之却步.其实Alfred并非高不可攀,本文 ...

  7. 第九届极客大挑战——怎么又是江师傅的秘密(java反序列化)

    这道题其实是考jsp和java的,我没学过jsp,java倒是有一点了解,但是刚拿到题的时候还是看不懂java代码里的内容,所以去简单学习了下jsp(jsp教程),按照教程里的步骤搭建了eclipse ...

  8. 对cell每一行做标记

    通过数组进行标记 初始化列表的时候给一个值如 for (int i = 0; i < [self.tableData count]; i++)    {        [_allOrderBoo ...

  9. To B产品,业务方全程蒙蔽怎么搞?

            这是发生在很久前的事,那会我还是产品实习生.         今天和业务部门进行需求审核,对的是公司内部SAAS系统的采购模块.怎么说呢?就是觉得不专业吧         辛辛苦苦把原 ...

  10. inndo 表与存储逻辑_1

    ------------------------------------------2015-03-03--------------------------------------- 表 : inno ...