var global_ref = null;
function a(){
function some_click_handler {
global_ref = $(this);
}
}
// later in
function b()
{
$(global_ref).css(...) // or global_ref.css(...) ???
}
以上概念正確嗎?和語法的權利?存儲jquery引用是否合法?
var global_ref = null;
function a(){
function some_click_handler {
global_ref = $(this);
}
}
// later in
function b()
{
$(global_ref).css(...) // or global_ref.css(...) ???
}
以上概念正確嗎?和語法的權利?存儲jquery引用是否合法?
您不需要$(global_ref)
,因爲global_ref
已經是jQuery對象。
話雖這麼說,依靠全局一樣,是一個不好的做法,但它會工作(假設b()
a()
後,總是叫)
什麼是更好的主意?我想將當前的彈出窗口存儲到全局變量中,這樣如果另一個彈出窗口將顯示我們可以關閉此前一個彈出窗口。 – 2010-11-18 12:39:05
至少你應該創建一個「註冊表」類來保存你的全局變量,這樣你就可以在你自己的「命名空間」下擁有它們,而不會「污染」全局的「命名空間」。 – 2010-11-18 12:41:06
@Bin你可以設置一個類到彈出窗口(如「activePopup」)。然後你可以選擇它並隱藏它:'$(「。activePopup」)。hide();' – 2010-11-18 12:41:28
忽略一些語法錯誤,這肯定是合法的。但你只需要global_ref.css(...)
後global_ref = $(this)
它已經是一個jQuery對象的引用
致電警察,陳斌正在使用全局變量! :) – epascarello 2010-11-18 13:12:12
哦,是的,我在做罪犯! – 2010-11-18 13:26:40