SORU
16 Mayıs 2011, PAZARTESİ


Nasıl algılamak "enter" vardiyayı ben; Button yeni bir satır oluşturur?

Kişi basarsa şu andagirinmetin alanı içinde formu gönderin.
İyi, ben de bunu istiyorum.

Ama ne zaman onlar yazınshiftgirinBu button bir sonraki satıra geçmek istiyorum: \n

*Nasıl 4* veya düz JavaScript mümkün olduğunca Basit olarak bunu yapabilir miyim?

CEVAP
16 Mayıs 2011, PAZARTESİ


Birincisi, tuşuna basmakGirinbir button içinde bunu yapmak için komut dosyası olmadan formu göndermek değil. Bu kullanıcının beklediği davranışları ve değişen karşıyım. Eğer bunu yapmak zorundaysanız, ancak en kolay yöntem yapan script bulmak olacaktırGirinformu gönderin ve değiştirin. Kod gibi bir şey olacak

if (evt.keyCode == 13) {
    form.submit();
}

... ve sadece bunu değiştirebilirsin

if (evt.keyCode == 13 && !evt.shiftKey) {
    form.submit();
}

Yoksa erişmek için bu kodu bir sebepten yapmanız gereken aşağıdaki çözüm sağlamak için tüm büyük tarayıcılar bile şapka değil sonunda metin:

jsFiddle: http://jsfiddle.net/zd3gA/1/

Kod:

function pasteIntoInput(el, text) {
    el.focus();
    if (typeof el.selectionStart == "number"
            && typeof el.selectionEnd == "number") {
        var val = el.value;
        var selStart = el.selectionStart;
        el.value = val.slice(0, selStart)   text   val.slice(el.selectionEnd);
        el.selectionEnd = el.selectionStart = selStart   text.length;
    } else if (typeof document.selection != "undefined") {
        var textRange = document.selection.createRange();
        textRange.text = text;
        textRange.collapse(false);
        textRange.select();
    }
}

function handleEnter(evt) {
    if (evt.keyCode == 13 && evt.shiftKey) {
        if (evt.type == "keypress") {
            pasteIntoInput(this, "\n");
        }
        evt.preventDefault();
    }
}

// Handle both keydown and keypress for Opera, which only allows default
// key action to be suppressed in keypress
$("#your_textarea_id").keydown(handleEnter).keypress(handleEnter);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HTC Tutorials

    HTC Tutorial

    21 EYLÜL 2010
  • Liberator

    Liberator

    14 EYLÜL 2007
  • Ryan Billy

    Ryan Billy

    30 EKİM 2006