我想做一個jQuery插件(只是爲了好玩),我似乎無法做到我想要的某個部分。jQuery插件可能存在的範圍問題?
(function($){
var resetText = function(){ if (this.value == "") this.value = this.title; }
var clearText = function(){ if (this.value == this.title) this.value = ""; }
$.fn.placeHolder = function() {
return this.each(function(){
resetText(); // <-- this doesn't work
$(this).focus(clearText).blur(resetText);
});
};
})(jQuery);
基本上,我想title屬性被複制到值屬性(如果爲空值)上doc.ready和field.blur
像現在,它的工作原理的onblur但不是在document.ready
我有一種感覺這是一個範圍的事情,但老實說,我不知道如何解決它。
見自己:http://jsfiddle.net/Usk8h/
@Johnny我發現這很有趣,所以我在這裏讀了一下,有趣的解釋:http://devlicio.us/blogs/sergio_pereira/archive/2009/02/09/javascript-5-ways-to-call- a-function.aspx – 2011-05-17 20:55:35
@kingjiv - 我做了同樣的事情,發現了一篇類似的文章。感謝那!我最終選擇了觸發onBlur事件的第二選擇,但我仍然很高興知道您可以覆蓋_this_。 :) – Johnny 2011-05-18 14:19:29