亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

.parent.html("")和.detach()的區別

都是不清空已注冊的事件吧 然而我這么寫就無法調用事件了

<html>

<head>
????<meta?http-equiv="Content-type"?content="text/html;?charset=utf-8"?/>
????<script?src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
????<style?type="text/css">
????p?{
????????color:?red;
????}
????</style>
</head>

<body>
????<div>
????<p>P元素1,默認給綁定一個點擊事件</p>
????<p>P元素2,默認給綁定一個點擊事件</p>
????</div>
????<button?id="bt1">點擊刪除?p?元素</button>
????<button?id="bt2">點擊移動?p?元素</button>
????<script?type="text/javascript">
????$('p').click(function(e)?{
????????alert(e.target.innerHTML)
????})
????var?p;
????$("#bt1").click(function()?{
????????if?(!$("p").length)?return;?//去重
????????//通過detach方法刪除元素
????????//只是頁面不可見,但是這個節點還是保存在內存中
????????//數據與事件都不會丟失
????????p?=?$("p");
????????$("p").parent().html("");
????});

????$("#bt2").click(function()?{
????????//把p元素在添加到頁面中
????????//事件還是存在
????????$("div").append(p);
????});
????</script>
</body>

</html>


正在回答

2 回答

p并不是指向內存堆中原來的jQuery對象
你可以試下console.log(p==$("p")) ?//返回值false

1 回復 有任何疑惑可以回復我~
#1

牡蠣先生 提問者

非常感謝!
2017-06-20 回復 有任何疑惑可以回復我~

js中 參數是按值傳遞 而不是按引用地址傳遞 ?你給$('p')這個jQuery對象綁定了事件,并沒有給p綁定事件。

0 回復 有任何疑惑可以回復我~
#1

牡蠣先生 提問者

我的p指向的不就是內存堆中原來的jQuery對象嗎? 事件不是通過隱式迭代綁定給里面的DOM對象嗎? 沒理解你的意思啊
2017-06-20 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
jQuery基礎(二)—DOM篇
  • 參與學習       114002    人
  • 解答問題       614    個

jQuery第二階段開啟DOM修煉,了解創建、插入、刪除與替換

進入課程

.parent.html("")和.detach()的區別

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號