Wiem, że to pytanie zostało zapytane Oto. Zasadniczo rozwiązanie działa, ale używają starej wersji jQuery i rozwiązanie zaimplementowano za pomocą przestarzałych funkcji. Próbowałem więc migrować do nowej wersji, według odpowiedzi i pytań z tego
Była to moja migracja do funkcji ON, ale nie działa. Demo przykładu: http://jsbin.com/saxay/1/edit Co robię źle?$("textarea").on('keyup','.note-codable',function(event){
if(event.keyCode == 13) { }
if (this.clientHeight < this.scrollHeight) {
alert("Please Something");
}
});
$(document).on('keyup','.note-codable',function(event){
if(event.keyCode == 13) { }
if (this.clientHeight < this.scrollHeight) {
alert("Please Something");
}
});
2 odpowiedzi
Naprawiono swój problem
Właśnie musiałeś użyć .on
w miejscu live
w pierwszym podejściu.
$('textarea.paginate').on('keydown', function(event) {
// scrollbars apreared
if (this.clientHeight < this.scrollHeight) {
alert("Please add a new card for having a better format. Remember this is a WYSIWYG");
}
});
ZAKTUALIZOWANO
Spróbuj tego podejścia: Demo
$.fn.hasVerticalScrollBar = function() {
if (this[0].clientHeight < this[0].scrollHeight) {
return true
} else {
return false
}
};
$(document).on('keydown','.note-codable',function(event){
if(event.keyCode == 13) { }
if ($(this).hasVerticalScrollBar()) {
alert("Please Something");
}
});
Także jeśli zauważysz, że zmieniłem zdarzenie {{x0} wydarzenie keyup
.