2016-02-26 64 views
-1
$(document).ready(function(){ 
    $(".a").click(function(){ 
    var a = (function(){ 
     alert(a); // Line No: 4 
    },another()); 
    }); 
}); 
function another(){ 
    alert('Now Click B'); // Alert 1 
    $(".b").unbind('click'); 
    var r = 0; 
    $(".b").click(function(){ 
    alert('B Clicked'); // Alert 2 
    return r; 
    }); 
} 

<p class="a">Click A First</p> 
<p class="b">Click B</p> 

警報1和警報2正常工作,但是
行號:4不起作用。alert()不起作用

任何建議???

+1

這這是完全可怕的方式來做到這一點。首先用於調試使用console.log();然後返回到繪圖板並重新編寫代碼。 – user2831723

回答

0

行號:4不起作用。

它不工作,因爲功能沒有定義後調用,檢查此demo

嘗試這種方式

$(document).ready(function(){ 
    $(".a").click(function(){ 
    var a = (function(){ 
     alert(1); // Line No: 4 
     another(); //observe that this line is not in the initialization here 
    })(); 
    }); 
}); 
+0

其實我想要第4行的r的值......有可能嗎? – ARNAB

+0

@ARNAB沒有找到你,'r'不在該方法範圍內。第4行中不可見「r」。你想用它達到什麼目的? – gurvinder372

+0

其實我想把r的值返回到第一個範圍......就這些。 @ gurvinder372 – ARNAB

0

你需要調用它:

}(),another()); 
    //^-----here 
+0

看看這個jsfiddle.net/arnabmunshi/9aku55ap/2 ...實際上我想看看r ++在第一個範圍中的值,比如line no 4.有可能嗎? @ jai – ARNAB

+0

不!這是不可能的。除非你使用一個全局變量或者將這個值傳遞給iife並使用它。 – Jai