Birisi

2015-05-19 16 views
6

kopyalayıp yapıştığında anahtarlama işlevini tetikle Birden fazla metin kutusu için bir anahtarlama işlevim var. Birisi metin kutusuna kopyalayıp bir şey attığında anahtarlama işlevini nasıl tetiklerim?Birisi

.on("click blur keyup", ".emotion", function() { 
    //match something 
}); 
+1

AŞAĞI-seçmenler: bırakınız sorumun neden reddedildiğine dair bir yorum. bu yardımcı olur. Teşekkürler. – Bekki

+0

jQuery içinde kullanılabilir bir macun olayı var: http://stackoverflow.com/questions/11605415/jquery-bind-to-paste-event-how-to-get-the-content-of-the-paste –

cevap

11

Anahtarı metin CTRL + V veya sağ fare düğmesine »Yapıştır basarak her ikisi (yapıştırılan kalkmış olsa bile bir şey alanına girildiği zaman tetikleyecek olay input için keyup,.

.on('input', '.emotion', function() { 
    // Do your stuff. 
}); 
+0

güzel. teşekkürler :) – Bekki

+0

'input' kullanıldığında herhangi bir kısıtlama var mı? ör .: tarayıcı uyumluluğu? – Bekki

+2

@Bekki Kolay bakmak için https://developer.mozilla.org/en-US/docs/Web/Events/input – epascarello

1

paste olayını kullanın. Test ettiğim kadarıyla, Ctrl + V yapıştırma için çalışır ve> Yapıştırmayı yapıştır'ı sağ tıklayın.

+0

Teşekkürler. Anahtarlama işlevi ile onPaste'ı nasıl birleştiririm? – Bekki

+1

Sadece fonksiyonunuza ekleyin - '.on (" klik bulanıklığı klik yap ", işlev() {...}); – Bfcm

+0

Ayrıca bağlama fonksiyonunu deneyebilirsiniz -' $ ('# this-id'). ('input', function() {}); – Bfcm

3

Bu yapacak ne istediğinizi:

$("#editor").on('paste', function(e) { 
 
    $(e.target).keyup(); 
 
}); 
 

 
$("#editor").on('keyup', function(e) { 
 
    alert('up'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" id="editor">

+1

teşekkürler. işlevi (e) '- (e)' yerine başka bir şey kullanabilir miyim? (a) gibi mi? – Bekki

+0

Evet, olay nesnesini istediğiniz gibi arayabilirsiniz. –

+0

teşekkürler ... +10 :) – Bekki

İlgili konular