최근 작업한 터치스크린 버전 프로젝트에서 입력값을 모니터링하는 문제가 발생했습니다. 키업을 사용하면 휴대폰 키보드의 다른키를 누르는 데는 문제가 없었으나 삭제 키는 모니터링이 되지 않았습니다. . 온라인에서 다음 해결책을 찾았습니다.
(원문 출처: http://blog.csdn.net/kongjiea/article/details/40186121)
검색창은 사용자가 입력한 값을 기준으로 실시간으로 검색합니다. 자연스럽게 키업이 생각났는데, 병음 상태에서 문제가 없었을 때,
질문 1: 중국어 입력 방식으로 전환했더니 문제가 나왔고, 키업 이벤트가 제대로 작동하지 않더라고요. 나중에 인터넷에서 검색해보니
라는 아이디어가 나왔습니다.
질문 2:
고객님께서 "입력창에 내용을 입력하면 입력창 뒤에 클리어 버튼이 표시됩니다"라고 문의하셨습니다. "keyup" 이벤트 사용시 중국어 입력방식의 일부 키가 눌리는 현상이 발생합니다. keyup 이벤트가 유효하지 않습니다.
방법1: 주로 검색창에 대한 focus 이벤트를 잠시 후 검색하고 코드를 게시합니다.
<script language="javascript" type="text/javascript" src="jquery.js"></script>
<script>
$(function () {
$('#wd').bind('focus',filter_time);
})
var str = '';
var now = ''
filter_time = function(){
var time = setInterval(filter_staff_from_exist, 100);
$(this).bind('blur',function(){
clearInterval(time);
});
};
filter_staff_from_exist = function(){
now = $.trim($('#wd').val());
if (now != '' && now != str) {
console.log(now);
}
str = now;
}
</script>
방법 2: 입력 및 속성 변경 이벤트를 사용하여 문제 해결,
document
.getElementById('box').addEventListener('input',function(){...dosomething...},false); html>
<head>
<script type="text/javascript" src="http://www.zlovezl.cn/static/js/jquery-1.4.2.min.js"></script>
</head>
<body>
<p>
使用oninput以及onpropertychange事件检测文本框内容:
</p>
<p>
<input type="text" name="inputorp_i" id="inputorp_i" autocomplete="off"/>
<span id="inputorp_s"></span>
<script type="text/javascript">
//先判断浏览器是不是万恶的IE,没办法,写的东西也有IE使用者
var bind_name = 'input';
if (navigator.userAgent.indexOf("MSIE") != -1){
bind_name = 'propertychange';
}
$('#inputorp_i').bind(bind_name, function(){
$('#inputorp_s').text($(this).val());
})
</script>
</p>
</body>
</html>
그러나 어떤 사람들은 JQ 바인딩을 사용할 수 있다고 말합니다. as:
$('#input').bind('input propertychange', function() { alert("....") });
또는 기본: <script type="text/javascript">
// Firefox, Google Chrome, Opera, Safari, Internet Explorer from version 9
function OnInput (event) {
alert ("The new content: " + event.target.value);
}
// Internet Explorer
function OnPropChanged (event) {
if (event.propertyName.toLowerCase () == "value") {
alert ("The new content: " + event.srcElement.value);
}
}
</script>
<body>
<input type="text" oninput="OnInput (event)" onpropertychange="OnPropChanged (event)" value="Text field" />
</body>
마지막으로 주목해야 할 점은
위 내용은 jquery 모바일 키보드 키업 실패 해결방법 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!