我有以下代碼,適用於Firefox-20和Opera,但不適用於Chrome-26或IE-10。鍵入功能將印度逗號添加到金額中。JQuery代碼適用於Firefox,Opera,但無法在Chrome和IE中工作
$(document).ready(function() {
$("#readyArea").on('change', function() {
$("#underConstArea").val($(this).val()).trigger('change');
});
$('.comma').on('keyup', this, function commaFormatted(){
var delimiter = ","; // replace comma if desired
var amount = $(this).val().replace(/\,/g,'');
var a = amount.split('.',2);
var d = a[1];
var i = parseInt(a[0],10);
if(isNaN(i)) { return ''; }
var minus = '';
if(i < 0) { minus = '-'; }
i = Math.abs(i);
var n = new String(i);
var a = [];
var cnt=0;
while(n.length > 2)
{
if(cnt == 0)
{
var nn = n.substr(n.length-3);
n = n.substr(0,n.length-3);
cnt++;
}
else
{
var nn = n.substr(n.length-2);
n = n.substr(0,n.length-2);
}
a.unshift(nn);
}
if(n.length > 0)
{
a.unshift(n);
}
n = a.join(delimiter);
amount = n;
amount = minus + amount;
$(this).val(amount);
});
});
這裏是JSFiddle link。 (正如我所說,如果我在Firefox或Opera中打開此鏈接,js可以使用,但不能在Chrome或IE中使用)。控制檯上也沒有js錯誤。我是否需要針對Chrome和IE做一些特定的事情?
編輯
只是爲了澄清,這是不是在Chrome和IE射擊onChange事件。 Firefox和Opera也一樣。
我在OS X上使用Chrome 26.0.1410.43,並且看到逗號就像在Firefox中一樣。他們應該看起來像這樣:'12,34,56,789'? (對不起,我不熟悉印度的逗號) – 2013-04-08 19:28:22
對不起,如果我不清楚。深夜有點讓我迷惑不解。是的,逗號將出現在你的例子中。問題是onChange事件在Chrome和IE中沒有觸發。 – Snoopy 2013-04-09 02:10:58