$('body').on('touchend', function(el) {
if (el.target.tagName != 'INPUT') {
$searchInput.blur();
}
});
var flag = false;
$searchInput.on({
'compositionstart': function() {
flag = true;
},
'compositionend': function() {
flag = false;
},
'input propertychange': function() {
if (!flag) {
valUpdate(this);
};
}
});
function valUpdate(that) {
if ($(that).val() !== '') {
var val = $(that).val().replace(/[^\u4E00-\u9FA5\uF900-\uFA2DA-Za-z0-9']/g, '');
if (val !== '') {
$iptClear.css('display', 'inline-block');
} else {
$iptClear.css('display', 'none');
}
$(that).val(val);
return;
}
$iptClear.css('display', 'none');
showSearchbox(false);
}
$searchInput.InputEventClearPre({
MaxLength: '10',
callback: function($self, valLength, index) {
valUpdate($self);
}
});
$.fn.InputEventClearPre = function(options) {
var defaults = {
MaxLength: '',
callback: function($self, valLength, index) {
}
};
var opts = $.extend({}, defaults, options || {});
var renderclass = {
render: "inputRender"
};
var cpLock = [];
return this.each(function(i) {
cpLock[i] = false;
var $self = $(this);
$self.addClass(renderclass.render);
$self.on('compositionstart', function() {
cpLock[i] = true;
});
$self.on('compositionend', function() {
cpLock[i] = false;
var self = $(this);
if (!cpLock[i]) {
if (opts.MaxLength) {
if (self.val().length > (opts.MaxLength - 0)) {
self.val(self.val().substring(0, opts.MaxLength - 0));
if (typeof opts.callback == 'function') {
opts.callback(self, self.val().length, i);
}
} else {
if (typeof opts.callback == 'function') {
opts.callback(self, self.val().length, i);
}
}
} else {
if (typeof opts.callback == 'function') {
opts.callback(self, self.val().length, i);
}
}
}
})
$self.on('input', function() {
var self = $(this);
if (!cpLock[i]) {
if (opts.MaxLength) {
if (self.val().length > (opts.MaxLength - 0)) {
self.val(self.val().substring(0, opts.MaxLength - 0));
if (typeof opts.callback == 'function') {
opts.callback(self, self.val().length, i);
}
} else {
if (typeof opts.callback == 'function') {
opts.callback(self, self.val().length, i);
}
}
} else {
if (typeof opts.callback == 'function') {
opts.callback(self, self.val().length, i);
}
}
}
});
})
}