jquery外掛程式裡this和this的問題

2021-05-09 09:24:35 字數 1160 閱讀 4743

1樓:

$.fn.pluginname = function(opt){}

就是為jquery的prototype定義了函式, 這樣, 任何乙個jquery物件都可以使用這個成員函式, 這種寫法直觀明了, 你只要知道的就是$.fn = jquery.prototype = $.

prototype

$.fn.extend, 在jquery中重新定義了extend的使用方法, 如果只有乙個引數, 那麼就是擴充套件本身, 即$.

fn.extend({}), 就是用{}物件擴充套件$.fn, 也就是jquery的prototype, 這樣, 和上面那個就一樣了

兩者沒有什麼區別, 怎麼用看自己習慣和理解

還有一種寫法就是$.extend($.fn, {}); 這個extend不是乙個引數, 它作用是用後面的擴充套件前面的, 即用{}擴充套件了$.fn, 還是乙個意思

關於$(this)和this, 你關鍵還是要知道this表示的是什麼, 如果this是乙個dom元素, 那麼$(this)是乙個jquery元素, 如果this是乙個jquery元素, 那麼$(this)還是乙個jquery元素, 雖然你用==去判斷兩者是不同的, 但是他們內容都是一樣的, 這是我的經驗, 我並沒有去深入看過原始碼, jquery的api中似乎也沒有說這個.

關於this和$(this)還要注意一點$('.abc').click(function(){});中this是dom元素, $(this)是jquery元素, 而寫外掛程式的時候, 由於是擴充套件prototype, 所以this就是物件例項, 即this就是jquery物件, $(this)還是jquery物件, 他們雖然不是同一物件, 但是內容是完全相同的

2樓:匿名使用者

1. 這兩種本質上沒有區別, 第一種寫法適合單個plug開發. 比較直觀,第二種適合批量新增的plug

2. 關於 this 和$(this),這裡只有乙個可以肯定的,那就是$(this)一定是jquery物件,而this是什麼是要看上下文的.

3樓:阿剛燉蛋

1.這兩種方式的原理都是乙個,就是為jquery擴充套件成員函式。

具體區別,說不明白。

2.this和$(this)還是不同的,後者為jquery物件,前者要看具體的上下文,但大多數情況下為dom元素。

愚見愚見··

jquery裡window 和 ument 有什麼區別

jquery中的物件 document 是當前文件,就是你看到的整個網頁 window 如果沒有框架則就是你瀏覽的當前瀏覽器的視窗 將document,window轉換為jquery物件比如轉換後可以使用jq的方法 document ready window resize 接收以下引數 1.選擇器 ...

jQuery函式宣告與呼叫,jQuery裡的函式怎麼呼叫

你希望要在 提交1 點選後,提交2 點選才有效,對嗎?那可以建立 var tijiao1 false function abc 在 提交1 事件中 tijiao click function tijiao1 true 這樣點了提交1後,才能執行提交2。你的原始碼稍微改動一下就可以了 不過這樣會有個問...

jquery裡的與js中的有,jquery裡的與js中的有什麼區別?

問題問的應該都是jquery裡的問題吧。是指選擇器選擇帶有id的元素,例如就可以用 id val 來獲取對應的資料值,而裡面有加號的情況一般是有變數,在函式封裝時常用,例如 這裡 只是乙個連線的作用,總得來說就是jquery的選擇器,沒有區別的說法 jquery設計的宗旨是 write less,d...