jQuery 追加元素、拼接元素的方法总结(append、html、insertBefore、before等)
1. append & appendTo 的功能均为:在被选元素结尾(仍在元素内部)插入指定内容,但是内容和选择器的位置不同
(1) append()方法:
$("#test").append("<p>测试</p>"); //在id为test元素内部末尾插入<p>测试</p>
(2) appendTo()方法:
$("<p>测试</p>").appendTo("#test"); //在id为test元素内部末尾插入<p>测试</p>
2. insertBefore & before & insertAfter & after
(1) insertBefore() & before() 方法 :在被选元素前(元素外部)插入指定内容
$("<p>测试</p>").insertBefore("#test"); //在id为test的元素前插入<p>测试</p>
注:如果指定内容是已存在的元素,它将从它的当前位置被移除,并被插入在被选元素之前。
$("#test").before("<p>测试</p>"); //在id为test的元素前插入<p>测试</p>
(2) insertAfter() & after()方法:在被选元素后(元素外部)插入指定内容
$("<p>测试</p>").insertAfter("#test"); //在id为test的元素后插入<p>测试</p>
注:如果指定内容是已存在的元素,它将从它的当前位置被移除,并被插入在被选元素之后。
$("#test").after("<p>测试</p>"); //在id为test的元素后插入<p>测试</p>
3.html() 方法:设置或返回被选元素的内容
(1) 设置被选元素的内容
$("#test").html("<p>测试</p>"); //将id为test的元素里的内容设置为<p>测试</p>,若元素里面原本有内容,则将原来的内容替换
(2) 返回被选元素的内容
$("p").html(); //返回匹配到的第一个P元素的内容
不说废话了,刚学到个小知识点:在js中用:document.onkeydown来对用户敲击键盘事件进行监听,在网上整理了点,现将资料集中于此。
概念onkeypress、onkeyup、onkeydown区别:
onkeypress 这个事件在用户按下并放开任何字母数字键时发生。系统按钮(例如,箭头键和功能键)无法得到识别。
onkeyup 这个事件在用户放开任何先前按下的键盘键时发生。
onkeydown 这个事件在用户按下任何键盘键(包括系统按钮,如箭头键和功能键)时发生。
小demo:只在在输入的时候可以用backspace,其他地方不可以用。
<script type="text/javascript">
//处理键盘事件
function doKey(e){
var ev = e || window.event;//获取event对象
var obj = ev.target || ev.srcElement;//获取事件源
var t = obj.type || obj.getAttribute('type');//获取事件源类型
if(ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea"){
return false;
}
}
//禁止后退键 作用于Firefox、Opera
document.οnkeypress=doKey;
//禁止后退键 作用于IE、Chrome
document.οnkeydοwn=doKey;
</script>
解决onkeydown在IE和FF中的兼容问题 (这个我没做过测试呢)
IE浏览器中:
var keycode = event.keyCode;
FireFox和Opera浏览器中:
var keycode = e.which;
总结简便写法如下:
var currKey=0,e=e||event; currKey=e.keyCode||e.which||e.charCode;//支持IE、FF
完整demo如下:
<button type="button" οnclick="searchAuction();" id="btn_selector">
<label>精确筛选</label>
</button>
<script type="text/javascript">
function keydown(e) {
var currKey=0,e=e||event;
currKey=e.keyCode||e.which||e.charCode;//支持IE、FF
if (currKey == 13) {
document.getElementByIdx_x("btn_selector").click();
}
}
document.onkeydown = keydown;//onkeydown事件调用方式 </script>
写法一、触发submit事件,支持IE
<form οnkeydοwn="checkkey(event)">
//上一段中介绍的event所携带的值传给了keys
function checkkey(keys)
{
//判断一下是否同时按了CTRL键和ENTER键.
if(keys.ctrlKey && keys.keyCode == 13)
//如果判断的结果确实是两个键准确无误的按下了,那么就提交数据
{
this.document.form.submit();
}
}
说明:event是将这次按键的值传递给函数作判断用的。也就是说event里面承载着我们这次按键的数据。
写法二、触发click事件,支持IE
<body οnkeydοwn="if (event.keyCode==13) {document.all.button2.click();}">
写法三、按键翻页效果,支持IE
<script type="text/javascript">
var preview_page = "14671.html";
var next_page = "14675.html";
var index_page = "index.html";
var article_id = "305";
var chapter_id = "14674";
function jumpPage() {
if (event.keyCode==37)
location=preview_page;
if (event.keyCode==39)
location=next_page;
if (event.keyCode==13)
location=index_page;
}
document.οnkeydοwn=jumpPage;
</script>
应用的demo:
在test.jsp中引入test.js
document.okeydown = KeyLogin;
function KeyLogin(){
if(event.keyCode == 13){
LoginSystem();/触发此function
}
}
---------------------
js学习笔记27----键盘事件
键盘事件主要有2个:
onkeydown : 键盘按下时触发,如果按下不抬起,那么会连续触发。
onkeyup : 键盘弹起时触发
不是所有元素都能接收键盘事件,只有能够响应用户输入的元素,换言之,能够接收焦点的元素就能接收键盘事件。
event.keyCode : 数字类型,返回 键盘按键的ASCII 码。
ctrlKey, shiftKey, altKey: 布尔值。
当一个事件发生的时候,如果 ctrl|| shift || alt 是按下的状态,返回true。
示例代码:
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <title>键盘事件</title>
5 <meta charset="UTF-8">
6 <meta name="viewport" content="width=device-width, initial-scale=1">
7 <script>
8 window.onload = function(){
9 document.onkeydown = function(ev){
10 var ev = ev || event;
11 //alert(ev.keyCode); //返回键盘的ASCII 码
12 }
13
14 document.onclick = function(ev){
15 var ev = ev || event;
16 alert(ev.ctrlKey);//点击时返回false,按住ctrl键之后再点击的同时会返回true
17 }
18 }
19 </script>
20 </head>
21 <body>
22 <div>
23
24 </div>
25 </body>
26 </html>
JavaScript onkeydown 事件
用户按下一个键盘按键时会触发 onkeydown 事件。与 onkeypress 事件不同的是,onkeydown 事件是响应任意键按下的处理(包括功能键),onkeypress 事件只响应字符键按下后的处理。
提示
Internet Explorer/Chrome 浏览器使用 event.keyCode 取回被按下的字符,而 Netscape/Firefox/Opera 等浏览器使用 event.which。
onkeydown 获取用户按下的键
下面是一个利用 onkeydown 事件获取用户按下键盘按键信息的例子:
复制代码代码如下:
<html>
<body>
<script type="text/javascript">
function noNumbers(e)
{
var keynum;
var keychar; keynum = window.event ? e.keyCode : e.which;
keychar = String.fromCharCode(keynum);
alert(keynum+':'+keychar);
}</script>
<input type="text" οnkeydοwn="return noNumbers(event)" />
</body>
</html>
如上面例子所示,event.keyCode/event.which 得到的是一个按键对应的数字值(Unicode 编码),常用键值对应如下:
数字值 | 实际键值 |
48到57 | 0到9 |
65到90 | a到z(A到Z) |
112到135 | F1到F24 |
8 | BackSpace(退格) |
9 | Tab |
13 | Enter(回车) |
20 | Caps_Lock(大写锁定) |
32 | Space(空格键) |
37 | Left(左箭头) |
38 | Up(上箭头) |
39 | Right(右箭头) |
40 | Down(下箭头) |
在 Web 应用中,常常可以看到利用 onkeydown 事件的 event.keyCode/event.which 来获取用户的一些键盘操作,从而运行某些运用的例子。如在用户登录时,如果按下了大写锁定键(20),则加以提示大写锁定;在有翻页的时候,如果用户按下左右箭头,触发上下翻页等。
获得 Unicode 编码值之后,如果需要得到实际对应的按键值,可以通过 Srting 对象的 fromCharCode 方法(String.fromCharCode())获得。注意,对于字符获得的始终是大写字符,而对于其他一些功能按键,得到的字符可能不太易阅读。