2012-07-08 14 views
8

WebKit tarayıcılarında (Chrome & Safari) web sitesi işaretlemesiyle ilgili bir sorun var, yani sağ kaydırıcıyı düzenleme kutusuna bir şey yazdığımda, sol alanı kaydırır. html kodu (giriş id = "paleti" ile div içindeyse) webkit tarayıcılarda düzenleme kutusuna girerek kaydırma yapılıyor

  • Tipi Chrome veya Safari

    1. Açık sonraki bağlantıya -
      http://jsbin.com/obiyec/7
      http://jsbin.com/obiyec/7/edit:

      Aşağıdaki örnekte bir göz atın lütfen sağ üst köşedeki düzenleme kutusundaki bir şey
    2. Sol alanda kaydırma çubuğunun kaydırıldığına dikkat edin

    Bu radikal mümkünse işaretlemeyi

    S. kaymasını kaydırma çubuğunu önlemek ve FF olduğu gibi aynı şekilde davranır yapmak değiştirmek çok olası değildir?

  • +0

    Sorun açıklamanız belirsizdir. Örneğinizde "düzenleme kutusu" yok, sadece statik bir "div". Belki bir textarea ister misin? – Sparky

    +0

    @ Sparky672 bağlantıları dene. Chrome'da [JSBin] 'ı (http://jsbin.com/obiyec/7) açarsanız, sağ üst köşede bir giriş alanı bulunur. Bunu yazın ve soldaki "div" ile "taşma: otomatik", etkileşimde olmasa bile sağa kaydırır. –

    +0

    @MyHeadHurts, Safari'deyim ve sol üst kutuya hiçbir şey yazamıyorum. HTML'ye baktığımızda, sadece bir 'div'. – Sparky

    cevap

    6

    Burada sorun, yaptığınız gibi ve gerçekte yaptığınız gibi iki farklı şeydir.

    Soldaki div sabit bir genişlik ve overflow: auto (div#kb-board) gibi görünüyor ve sağdaki giriş alanı ilişkisiz öğelerdir - ancak bunlar değil. Giriş alanı aslında div#kb-board bir çocuk ancak ebeveynin (div#palette) fixed konumlandırması vardır böylece sayfanın sağ üst kısmında oturur.

    Sonuç olarak, giriş alanı aslında div#kb-board'un sağ tarafındadır ve siz girdiğinizde, kaydırma çubuğunu, o divın sağ tarafına odaklanırken hareket eder.

    Bu durumda, Chrome'un doğru davranışı gösterdiğini söyleyebilirim.

    Bu sorunu gidermek için, div#kb-board içinde div#palette numaralı yuvalamayı durdurmalısınız. Sabit konumlandırma kullandığından, onu yerleştirmeye gerek yoktur.

    <div id="kb-board"> 
        <div id="boards-container"> 
         <div id="lane">...</div> 
        </div> 
        <!-- div#palette was originally here --> 
    </div> 
    <div id="palette"> 
        <input type="text" value="Type here" /> 
    </div> 
    

    Çalışma örneği: http://jsbin.com/obiyec/8

    +2

    Haklısınız. FF'nin WebKit yerine div odaklama ihtiyacını görmezden geldiğinden şüphelendim. Güzel yakalayış. Teşekkürler! –

    +1

    Beni "input type =" edit "' belgelerine yönlendiren var mı? Teşekkür ederim. – Sparky

    +1

    @ Sparky672 Üzgünüz, kesinlikle giriş tipi = "metin" demek istedim. İşte burada: http://dev.w3.org/html5/spec/single-page.html#text-type-text-state-and-search-state-type-search –

    İlgili konular