1. jQuery 事件對象
jQuery 對DOM中的事件對象 event 進行了封裝,兼容性更好,獲取更方便,使用變化不大。事件被觸發,就會有事件對象的產生。
語法
element. on (events, [selector], function(event) {})
阻止默認行為: event.preventDefault0 或者return false
阻止冒泡: event.stopPropagation0
演示代碼
<body>
<div></div>
<script>
$(function() {
$(document).on("click", function() {
console.log("點擊了document");
})
$("div").on("click", function(event) {
// console.log(event);
console.log("點擊了div");
event.stopPropagation();
})
})
</script>
</body>
注意:jQuery中的 event 對象使用,可以借鑒 API 和 DOM 中的 event 。
2. jQuery 拷貝對象
jQuery中分別為我們提供了兩套快速獲取和設置元素尺寸和位置的API,方便易用,內容如下。
語法
語法:
s.extend ([deep],
target, object1, [objectN] )
1. deep:如果設為true為深拷貝,默認為false 淺拷貝
2. target:要拷貝的目標對象
3. object1:待拷貝到第一個對象的對象。
4. objectN:待拷貝到第N個對象的對象。
5.淺拷貝目標對象引用的被拷貝的對象地址,修改目標對象會影響被拷貝對象。
6.深拷貝,前面加true,完全克隆,修改目標對象不會影響被拷貝對象。
演示代碼
<script>
$(function() {
// 1.合並數據
var targetObj = {};
var obj = {
id: 1,
name: "andy"
};
// $.extend(target, obj);
$.extend(targetObj, obj);
console.log(targetObj);
// 2. 會覆蓋 targetObj 里面原來的數據
var targetObj = {
id: 0
};
var obj = {
id: 1,
name: "andy"
};
// $.extend(target, obj);
$.extend(targetObj, obj);
console.log(targetObj);
})
</script>