如果输入字段已预填充,则jQuery无法工作(切换清除功能)

时间:2014-07-27 15:13:38

标签: javascript jquery input onload

我在 Clear icon inside input text 处找到了一个jQuery脚本,它在输入字段中带有一个清晰的图标。它非常适合我的网站。但是当输入值被预填充时,它无法正常工作。

Demo at jsbin

我在onchange()添加了几个change()mousemove,并在脚本本身和html中替换了以下内容:

<body onLoad="tog(v);">

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('');
});

但它确实提供了帮助。你有任何解决方案吗?

1 个答案:

答案 0 :(得分:2)

您需要使用.trigger()

以编程方式触发input事件
  $('.clearable').trigger('input');

DEMO