2012-12-03 154 views
0

所以,當有人點擊某個類名的元素(這些類中的10個)時,我正在運行一個函數。然後在這個函數中,我有另一個點擊偵聽器與另一個類名稱的元素(另一個10)。我希望這個第二次點擊功能只能在第一次點擊後發生一次。在另一個函數中只運行一次點擊函數

因此,理想情況下,有人會從一組10個點擊一些東西,然後我從中拉出數據並應用它,當有人從另一組10點擊一個元素。然後爲了點擊第二組10個將不得不再次點擊第一組中的內容。

我無法解決這個問題,我試過某種.one實現。

$('.words_col .wrap').click(function(){ 
    theFunction(this) 
}) 

然後

function theFunction(e) { 
    $('.examples_col .wrap').click(function(){ 
    //allow only once. 
    }) 
} 
+0

爲什麼你需要在代碼級別確保這一點?難道你不能只禁用當前不可點擊的元素嗎? –

+0

使用一個()http://api.jquery.com/one/ –

回答

1
$('.words_col .wrap').click(function(){ 
    theFunction(this); 
}); 

function theFunction(e) { 
    var oncer = true; 
    $('.examples_col .wrap').click(function(){ 
    if(!oncer){return false;} 
    oncer = false; 
    //allow only once. 
    }) 
} 

我,因爲你有一個以上的元素添加此作爲替代.one被選中和.one將允許每個點擊一次,而不是一次點擊總數。

+0

謝謝!我嘗試了幾個變化,但一定是剛剛關閉。這很好。我會投票,但我沒有足夠的聲望。 – newbiedev

0

one()將連接點擊一次:

$('.words_col .wrap').on('click', function(){ 
    $('.examples_col .wrap').one('click', function(){ 
     //works only once 
    }); 
});