2012-02-09 33 views
5

Tôi đang sử dụng plugin iScroll4 (http://cubiq.org/iscroll-4/) để thêm thanh cuộn vào các trang dài hơn 80% chiều cao của chế độ xem của trình duyệt. Đối với một số lý do khi (và chỉ trong trường hợp này) tôi thêm nó và cố gắng bấm vào đầu vào, nó sẽ không chọn. Chỉ việc nhấp vào nhãn của nó sẽ chọn đầu vào.Tại sao tôi không thể nhấp vào đầu vào?

Tôi có thể làm gì để có iScroll4 và đầu vào có thể chọn?

+1

Rất tiếc khi nhấp chuột phải vào phần tử 'đầu vào' sẽ di chuyển tiêu điểm đến phần tử đó (ngay cả khi bạn loại bỏ menu ngữ cảnh), nhưng không nhấp vào. –

+0

Có, nó hoạt động trên nhấp chuột phải và nhấp vào nhãn nhưng không nhấp chuột trái cũng cho tôi :) – Atadj

+0

Có thể có liên quan đến đánh dấu của bạn. Bạn không nên lồng đầu vào bên trong thẻ nhãn. Năng động đánh dấu? Có lẽ bạn nên xem xét cắt giảm số lượng thẻ lồng nhau. –

Trả lời

12

Hãy thử giải pháp này

myScroll = new iScroll('wrapper', {}); 

    myScroll.options.onBeforeScrollStart = function(e) {     
     var target = e.target; 

     while (target.nodeType != 1) target = target.parentNode; 
     if (target.tagName != 'SELECT' && target.tagName != 'INPUT' && target.tagName != 'TEXTAREA'){ 
      e.preventDefault(); 
     } 
    } 
+1

Cảm ơn bạn! Làm việc như người ở! – Atadj

+1

Có! Cái này làm việc cho tôi. – kaleazy

+0

WOOOOOOOOOO! 1 Cảm ơn @ darryn.ten Tôi ghét hỏi điều này của bạn, bạn có thể giải thích ngắn gọn lý do tại sao điều này làm việc: -/Nếu bạn có thời gian. Cảm ơn một lần nữa! – Red2678

4
$('input[type=text]').bind('touchstart click', function(){ 
    $(this).focus(); 
}); 
0
var myScroll; 
function loaded() { 
    myScroll = new iScroll('wrapper', { scrollbarClass: 'myScrollbar' }); 

    myScroll.options.onBeforeScrollStart = function(e) {     
     var target = e.target; 

     while (target.nodeType != 1) target = target.parentNode; 
     if (target.tagName != 'SELECT' && target.tagName != 'INPUT' && target.tagName != 'TEXTAREA'){ 
      e.preventDefault(); 
     } 
    } 
} 
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false); 

document.addEventListener('DOMContentLoaded', loaded, false); 
0

tôi sử dụng phiên bản 5.1.2 và nó làm việc.

window.myScroll = new IScroll ('#iscroll-wrapper', 
    probeType: 3, 
    mouseWheel: true, 
    scrollbars: true, 
    bounce: true, 
    keyBindings: true, 
    invertWheelDirection: false, 
    momentum: true, 
    fadeScrollbars: false, 
    interactiveScrollbars: true, 
    resizeScrollbars: true, 
    shrinkScrollbars: false, 
    click: false, 
    preventDefaultException: { tagName:/.*/ } 
} 
Các vấn đề liên quan