2017-06-30 44 views
7

Tôi có điều này https://codepen.io/anon/pen/RgQOWzTắt nhập văn bản tự động đánh dấu?

Đặt bất kỳ giá trị nào và khi nhấp vào giảm/giảm liên tục văn bản hộp nhập liệu sẽ làm nổi bật cái mà tôi không muốn xảy ra.

Tôi đã thử user-select: none nhưng vẫn không có hiệu lực.

$(".increment").click(function() { 
 
    var score1 = $(".score").val(); 
 
    score1++; 
 
    $(".score").val(score1); 
 
}); 
 

 
$(".decrement").click(function() { 
 
    var score1 = $(".score").val(); 
 
    if (score1 == 0) {} else { 
 
    score1--; 
 
    $(".score").val(score1); 
 
    } 
 
}); 
 

 
$(function() { 
 
    $('input').bind('focus', false); 
 
});
body { 
 
    margin: 20px; 
 
} 
 

 
input[type=number]::-webkit-inner-spin-button, 
 
input[type=number]::-webkit-outer-spin-button { 
 
    -webkit-appearance: none; 
 
    margin: 0; 
 
} 
 

 
.prdin { 
 
    text-align: center; 
 
    background: #f5f5f5; 
 
    width: 40px; 
 
    border: 1px solid #ccc; 
 
    border-top: 0px; 
 
    margin: 20px; 
 
} 
 

 
.prdin div { 
 
    display: flex; 
 
    height: 37px; 
 
    justify-content: center; 
 
    align-items: center; 
 
    border-top: 1px solid #ccc; 
 
    -webkit-touch-callout: none; 
 
    -webkit-user-select: none; 
 
    -khtml-user-select: none; 
 
    -moz-user-select: none -ms-user-select: none; 
 
    user-select: none; 
 
} 
 

 
.prdin input { 
 
    text-align: center; 
 
    border: 0px; 
 
    height: 100%; 
 
    width: 100%; 
 
    font-size: 18px; 
 
    font-weight: bold; 
 
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 

 
<!-- For icon styles --> 
 
<link href="https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.4.1/css/simple-line-icons.css" rel="stylesheet" /> 
 

 
<div class="prdin"> 
 
    <div class="increment"> 
 
    <i class="icon-arrow-up icons"></i> 
 
    </div> 
 
    <div id="input1"> 
 
    <input type="number" class="score" value="0"> 
 
    </div> 
 
    <div class="decrement"> 
 
    <i class="icon-arrow-down icons"></i> 
 
    </div> 
 
</div> 
 

 
<div class="prdin"> 
 
    <div class="increment"> 
 
    <i class="icon-arrow-up icons"></i> 
 
    </div> 
 
    <div id="input1"> 
 
    <input type="number" class="score" value="0"> 
 
    </div> 
 
    <div class="decrement"> 
 
    <i class="icon-arrow-down icons"></i> 
 
    </div> 
 
</div>

Trả lời

4

Bạn có thể sử dụng user-select: none; trên div s để vô hiệu hóa các lựa chọn/làm nổi bật.

$(".increment").click(function() { 
 
    var score1 = $(".score").val(); 
 
    score1++; 
 
    $(".score").val(score1); 
 
}); 
 

 
$(".decrement").click(function() { 
 
    var score1 = $(".score").val(); 
 
    if (score1 == 0) { 
 
    } else { 
 
    score1--; 
 
    $(".score").val(score1); 
 
    } 
 
}); 
 

 
$(function() { 
 
    $("input").bind("focus", false); 
 
});
body { 
 
    margin: 20px; 
 
} 
 

 
input[type=number]::-webkit-inner-spin-button, 
 
input[type=number]::-webkit-outer-spin-button { 
 
    -webkit-appearance: none; 
 
    margin: 0; 
 
} 
 

 
.prdin { 
 
    text-align: center; 
 
    background: #f5f5f5; 
 
    width: 40px; 
 
    border: 1px solid #ccc; 
 
    border-top: 0px; 
 
    margin: 20px; 
 
} 
 

 
.prdin div { 
 
    display: flex; 
 
    height: 37px; 
 
    justify-content: center; 
 
    align-items: center; 
 
    border-top: 1px solid #ccc; 
 
    -webkit-touch-callout: none; 
 
    -webkit-user-select: none; 
 
    -khtml-user-select: none; 
 
    -moz-user-select: none; 
 
    -ms-user-select: none; 
 
    user-select: none; 
 
} 
 

 
.prdin input { 
 
    text-align: center; 
 
    border: 0px; 
 
    height: 100%; 
 
    width: 100%; 
 
    font-size: 18px; 
 
    font-weight: bold; 
 
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet"/> 
 
<link href="https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.4.1/css/simple-line-icons.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="prdin"> 
 
    <div class="increment"> 
 
    <i class="icon-arrow-up icons"></i> 
 
    </div> 
 
    <div id="input1"> 
 
    <input type="number" class="score" value="0"> 
 
    </div> 
 
    <div class="decrement"> 
 
    <i class="icon-arrow-down icons"></i> 
 
    </div> 
 
</div>

+0

Cảm ơn - Tôi sẽ chấp nhận khi stackoverflow cho phép tôi thực hiện. – user7716943

+1

@ user7716943 bạn được chào đón :) –

+0

Tuyệt. Chỉ cần cẩn thận về [hỗ trợ trình duyệt] (http://caniuse.com/#search=user-select) – Fahmi

0

Nếu bạn thích một cách tiếp cận CSS, thêm tiền tố nhà cung cấp để user-select: none. Bạn cũng có thể thêm outline:none vào: tập trung để thực hiện nếu bạn muốn. Demo on codepen

+0

Tôi nghĩ bạn đã hiểu nhầm vấn đề – Fahmi

Các vấn đề liên quan