Mam 3 przyciski b1, b2, b3. Jak wiązać kliknięcie na 3 przyciski. Var b1 = $ ("# b1"); Var b2 = $ ("# b2");Zdarzenie kliknięcia wiązania jquery do wielu przycisków
$(b1,b2).bind("click", function(){});
jsfiddle.net/Xqpaq/
Mam 3 przyciski b1, b2, b3. Jak wiązać kliknięcie na 3 przyciski. Var b1 = $ ("# b1"); Var b2 = $ ("# b2");Zdarzenie kliknięcia wiązania jquery do wielu przycisków
$(b1,b2).bind("click", function(){});
jsfiddle.net/Xqpaq/
Nadanie jQuery tablicę będzie łączyć każdą pozycję do większego obiektu jQuery, co można powiązać wydarzenia w jednym ujęciu.
Załóż, że b1 i b2 to DOM, a nie obiekt jQuery.
$([b1, b2]).click(function (evt) {
// your code goes here
});
JSFiddler na http://jsfiddle.net/XF3Vv/1/.
Czy ktoś może wysłać do tego skrzypce? Nie mogę go uruchomić, ale wydaje się naprawdę fajny – user1234
wydaje się nie działać http://jsfiddle.net/arunpjohny/ehgMa/3/ –
Dodano skrzypce link – user321963
można użyć .add()
b1.add(b2).add(b3).click(function(){
})
Demo: Fiddle
lub użyj multiple selector
$('#b1, #b2, #b3').click(function(){
})
Demo: Fiddle
zawinąć je w div następnie kierować div dla wszystkich elementy przycisku.
<div id="button-nav">
<button class="button" type="button">button 1</button>
<button class="button" type="button">button 2</button>
<button class="button" type="button">button 3</button>
</div>
js:
$('#button-nav').on('click','button', function (evt) {
//-- do stuff
});
Gorąco polecam dokonywania funkcję przycisku kliknij odrębną funkcję, a następnie powiązać każdy przycisk, aby go
$(document).ready(function(){
var b1 = $("#btn1");
var b2 = $("#btn2");
var b3 = $("#btn3");
var btnClick = function(e){
alert("Button: "+e.currentTarget.id);
}
b1.on('click', btnClick);
b2.on('click', btnClick);
b3.on('click', btnClick);
});
Alternatywą jest użycie classes
zamiast ids
.Tak:
<input type="button" id="btn1" class="btn-click-action" value="submit"/>
<input type="button" id="btn2" class="btn-click-action" value="submit2"/>
<input type="button" id="btn3" class="btn-click-action" value="submit3"/>
Następnie JS:
var btnClassClick = function(e){
alert("Button clicked from class: "+e.currentTarget.id);
}
$('.btn-click-action').on('click', btnClassClick);
w Twoim przypadku:
po prostu zrobić jak ten poniżej:
cj('#b1, #b2').click(function(){
alert('you clicked either button 1 or button 2');
});
typowy przykład: zrobić coś takiego dla różnych elementów, jeśli klikniesz na każdy z tych elementów to ten kliknąć zdarzenie zostanie wywołane
cj('#_qf_Contact_upload_view-top, #_qf_Contact_upload_new-top, ,#_qf_Contact_upload_view-bottom, #_qf_Contact_upload_new-bottom').click(function(){
console.log(cj('#first_name').val());
if(cj('#first_name').val() == '' || cj('#first_name').val().length == 0)
{
alert('First Name is a required field, cannot be empty');
return false;
}
});
nadzieję, że pomoże ktoś :)
Twój kod jest niepoprawny, nie można użyj selektora jQuery na wybranych przez jQuery przecinkach. Jeśli chcesz to zrobić, użyj notacji tablicowej jak: $ ([b1, b2]) – Kevin
Chcę używać tylko obiektów var ... selektory mają być tylko typu var – user321963
Można również po prostu podać: var b1 = "b1", b2 = "b2"; a następnie użyj $ (b1, b2) .bind() ... – Kevin