2016-06-02 8 views
2

Ich brauche eine Funktion auf zwei cases.One laufen, wenn die Seite geladen wurde, und ein jedes Mal das Element clicked.The klicken Ereignis war funktioniert, aber die onload man nicht.Run-Funktion auf mehrere Ereignisse

$(document).ready(function(e) { 

var captcha; 

    $('#captcha').on('ready click',function(){ 
     function alphanumeric_unique() { 
      return Math.random().toString(36).split('').filter(function(value, index, self) { 
       return self.indexOf(value) === index; 
      }).join('').substr(2,8); 
     } 

     captcha = alphanumeric_unique(); 

     $(this).val(captcha); 
    }); 
}); 


<input type="text" readonly value="" id="captcha"> 

Irgendwelche Hilfe bitte?

+0

es in eine Funktion machen. Rufen Sie dann die Funktion load auf und ordnen Sie sie dem Event-Handler zu. –

Antwort

1

Sie benötigen Click-Ereignis auf Seite Last auszulösen:

$(document).ready(function(e) { 

    $('#captcha').on('click',function(){ 
     function alphanumeric_unique() { 
      return Math.random().toString(36).split('').filter(function(value, index, self) { 
       return self.indexOf(value) === index; 
      }).join('').substr(2,8); 
     } 

     captcha = alphanumeric_unique(); 

     $(this).val(captcha); 
    }); 

    $('#captcha').trigger("click"); // it will automatically call click event 


}); 
+0

ja funktioniert es in meinem Fall, dank .Aber noch für mein Wissen, kann ich mit zwei Ereignissen, insbesondere klicken und onload? Weil ich alles versucht habe, was ich mir ausgedacht habe und es nicht geschafft habe, es zu lösen. –

+0

wie pro mein knowlegde..no Sie Ladeereignis mit Klick auch binden kann event..you Triggerereignis verwenden, müssen alle Click-Ereignis aufrufen –

1

Sie benötigen die Funktion außerhalb des Click-Ereignis zu setzen. Dann kannst du es beim Laden der Seite aufrufen.

Wenn Sie die Funktion in das click-Ereignis einfügen, wird der Bereich auf diesen Ereignishandler beschränkt.

1

Stellen Sie einfach Ihre Funktion separat und verwenden Sie es auf jeden Fall Sie

$(document).ready(function(){ 
    function alphanumeric_unique() { 
     return Math.random().toString(36).split('').filter(function(value, index, self) { 
      return self.indexOf(value) === index; 
     }).join('').substr(2,8); 
    } 
    var captcha = alphanumeric_unique(); 
    $('#captcha').on('click',function(){ 
     $(this).val(captcha = alphanumeric_unique()); 
    }); 
}); 
0

Sie die Funktionalität wie so wiederverwenden können:

function alphanumeric_unique() { 
    return Math.random().toString(36).split('').filter(function(value, index, self) { 
    return self.indexOf(value) === index; 
    }).join('').substr(2,8); 
} 

function update_captcha() { 
    $('#captcha').val(alphanumeric_unique()); 
} 

$(document).ready(function() { 
    // Update when document is ready 
    update_captcha(); 
    // Update when captcha is clicked 
    $('#captcha').click(update_captcha); 
});