2015-10-15 50 views
1

我有兩個功能連接到一個按鈕,同一個ID:點擊和改變處理器同時開火,鉻

第一個功能:

$('input:radio[name=phoneSelect]').click(function() { 
    console.log('First function now'); 
}); 

二功能:

$('input:radio[name=phoneSelect]').change(function() { 
    console.log('Second function now');       
}); 

在safari上它的工作原理非常好,當我第一次點擊時我只能看到第一個lo但是在Chrome上,當我點擊按鈕時,這兩個日誌都會立即出現。

我需要在第一次點擊時顯示第一個日誌,但是當您在第二次日誌顯示中進行第二次或多次點擊時。

+0

可以請你分享HTML嗎? – vijayP

+0

@vijayP我仍然在構建,但我需要在第一次點擊和第二次點擊HTML內容更改時顯示某些HTML。由於在chrome上''.click'和'.change'同時工作,它不能正常工作。 – bellojaji

+0

我只是要求HTML知道組中有多少個單選按鈕?另外,如果我的小組中有3臺收音機,那麼每個人都應該考慮點擊/更換...我是否正確? – vijayP

回答

0

我需要在第一次點擊時顯示第一個日誌,但是當您在第二次日誌顯示中進行第二次或多次點擊時。

這不是那些功能所做的。當您更改單選按鈕的值(選擇其中一個選項)時將觸發,並且只需單擊任何單選按鈕選項即可觸發click觸發器。

如果要計算單選按鈕上的點擊量,只需使用一個包含點擊量的變量即可。

var clicks = 0; 
$('input:radio[name=phoneSelect]').click(function() { 
    clicks++; 
    if(clicks < 2) { 
     console.log('First function now'); 
    } else{ 
     console.log('Second function now'); 
    } 
}); 
+0

我可以親自跟你談談嗎?然後我會相應地更新這個問題......只是不要填寫額外的詳細信息 – bellojaji

+0

請在此處留言 – sebbzzz

0

......怎麼

//Register initial click event 
$('input:radio[name=phoneSelect]').one('click', function() { 
    console.log('First function now'); 

    //register on change handler 
    $('input:radio[name=phoneSelect]').change(function() { 
     console.log('Second function now');       
    }); 

}); 
+0

我已經嘗試過,但是它不能正常工作。 – bellojaji

+0

爲什麼?它有什麼問題? – phuzi

1

請各位看看下面的代碼片段。可能這會幫助你一點。

$('div.selectButtons span').click(function() { 
 
    if($(this).data("alreadyClicked") == null) 
 
    { 
 
     alert("First function now"); 
 
     $(this).data("alreadyClicked", "true") 
 
    } 
 
    else 
 
    { 
 
     alert("Second function now"); 
 
    } 
 
    
 
});
input[type="radio"]{ 
 
    display:none; 
 
    } 
 
span{ 
 
    width:30px; 
 
    height:20px; 
 
    border: solid 1px blue; 
 
    
 
    } 
 

 
.selectButtons{ 
 
    margin-bottom: 10px; 
 
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<div class="selectButtons"> 
 
    <input type="radio" name="phoneSelect" ></input> 
 
    <span>Select</span> 
 
</div> 
 
<div class="selectButtons"> 
 
    <input type="radio" name="phoneSelect" ></input> 
 
    <span>Select</span> 
 
</div> 
 
<div class="selectButtons"> 
 
    <input type="radio" name="phoneSelect" ></input> 
 
    <span>Select</span> 
 
</div>

+0

只需改變'$('input:radio [name = phoneSelect]')。click'to'$('div.selectButtons span')。click' and it should – vijayP

+0

PERFECT !!非常感謝您的幫助先生!你能否更新問題,以便我可以接受答案 – bellojaji

+0

@bellojaji - 更新了我的答案。謝謝......':)'! – vijayP