点击不适用于输入类型" text"在iPad中

时间:2014-04-08 06:34:57

标签: javascript jquery ipad asp.net-mvc-4

我想为文本框实现一个清除按钮。我在SO线程here中找到了一个非常好的解决方案。 我将在这里粘贴js代码:

function tog(v){return v?'addClass':'removeClass';} 

$(document).on('input', '.clearable', function(){
    $(this)[tog(this.value)]('x');
}).on('mousemove', '.x', function( e ){
    $(this)[tog(this.offsetWidth-18 < e.clientX-this.getBoundingClientRect().left)]('onX');   
}).on('click', '.onX', function(){
    $(this).removeClass('x onX').val('');
});

我在我的网站上实现了这一点,它在桌面上完美运行。但是,当我在iPad上测试它时,它根本不起作用。 我试图用“tochstart”/“touch”替换“click”,但它没有任何改变。

我创建了jsfiddle代码,您可以看到。请帮帮我,如何解决这个问题,以便适用于台式机和iPad。

1 个答案:

答案 0 :(得分:0)

你可以尝试结合&#34;点击&#34;和&#34; touchstart&#34;,像这样:http://jsfiddle.net/veritas87/D2ACE/2/

.on('touchstart click', '.onX', function(){
    $(this).removeClass('x onX').val('');
});

你也可以试试&#34;点击&#34;事件,在此描述:http://www.w3schools.com/jquerymobile/event_tap.asp