Considerare the following code:Qual è la differenza tra fare clic su una casella di controllo e chiamare la sua funzione '.click()'?
HTML:
<input type='checkbox' />
<div>Click here</div>
JS:
$(function() {
$('input').click(function() {
document.write($(this).is(':checked') ? "checked" : "unckecked");
});
$('div').click(function() {
$('input').click();
});
});
Quando la casella di controllo viene cliccato, l'uscita è checked
, ma se "clicca qui" si fa clic l'uscita è unckecked
. Perché?
Mi rendo conto che si sta probabilmente solo dando un esempio qui, ma sulla possibilità stagione che si desidera qualcosa di simile per lavorare è necessario utilizzare il tag label, invece. [Demo] (http://jsfiddle.net/YfJTF/1/) – irishbuzz
@ Tom - Questo non è corretto, 'this' riferisce sempre all'ingresso, è possibile verificare qui: http://jsfiddle.net/nick_craver/ c8Ucr/1/ –