笔记

jquery append 动态添加的元素事件on 不起作用的解决方案

on方法中要先找到原选择器(如例.info),再找到动态添加的选择器(如列.delete)。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>测试</title>
<script type="text/javascript"
src="../resources/js/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
$(function(){
//动态添加
$(".add").on("click",function(){
console.log("进来了");
$(".info").append('<div class="delete"><h3>单击我来删除我</h3></div>');
});
 //对动态添加的元素添加事件-删除
$(".info").on("click",".delete",function(){
console.log("进来了Delete!");
$(this).remove();
});
 }); 
</script>
 </head>
<body>
 <h2 class='add'>单击我添加动态元素</h2>
 <div class="info"></div>
 </body>
</html>

原生js的return false,只会阻止默认行为,不会停止冒泡的,而是用jQuery的话则既阻止默认行为又防止对象冒泡。

 

$("ul li:first") 选取第一个 <ul> 元素的第一个 <li> 元素

$("ul li:first-child") 选取每个 <ul> 元素的第一个 <li> 元素

$("div p").first(); 选取首个 <div> 元素内部的第一个 <p> 元素:

选取首个 <div> 元素内部的第一个 <p> 元素:

filter() 方法允许您规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回。

$("p").not(".intro"); not() 方法返回不匹配标准的所有元素。

$.noConflict();

var jq = $.noConflict();

param() 方法创建数组或对象的序列化表示形式。
序列化的值可在生成 AJAX 请求时用于 URL 查询字符串中。

 

session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而session保存在服务器上。

客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。

如果说Cookie机制是通过检查客户身上的“通行证”来确定客户身份的话,那么session机制就是通过检查服务器上的“客户明细表”来确认客户身份。

session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了。

两者的区别:

cookie数据存放在客户的浏览器上,session数据放在服务器上。

cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 考虑到安全应当使用session。

session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 考虑到减轻服务器性能方面,应当使用COOKIE。

单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

所以建议:将登陆信息等重要信息存放为session、其他信息如果需要保留,可以放在cookie中


var e =e || window.event;

//阻止默认行为

e.preventDefault();

e.returnValue=true; //IE

//阻止冒泡

e.cancelBubble = true; //IE

e,stopPropagation();

//阻止捕获

function(event) {
var e = window.event || event;
if (e.stopPropagation) {
e.stopPropagation();
} else {
e.cancelBubble = true;
}
}

 

if (e.stopPropagation) {
e.stopPropagation();
e.preventDefault();
} else {
e.cancelBubble = true;
e.returnValue=false;
}
return false;

posted on 2016-05-24 10:33  奋斗的luy  阅读(115)  评论(0编辑  收藏  举报

导航