0
我想在一个JavaScript数字键盘中输入一个逗号“,”。看到下面的代码Jquery数字键盘输入问题
/*!
* JQFNumKeypad
* http://www.jqueryfun.com/
*/
(function($) {
$.fn.JQFNumKeypad = function(options) {
// Defaults
var defaults = {
fadeSpeed: 400,
clearText: 'Clear'
};
// Extend options
var options = $.extend(defaults, options);
// Show keypad on document click/Focus First
$(document).click(function() {$('.jqfnumkeypad').show();});
$(document).ready(function(){$('input').first().focus();});
// Loop each instance
return this.each(function() {
// Instance
var instance = $(this);
// Keypad layout
var keypad = '<div id="jqfnumkeypad_' + instance.attr('name') + '" class="jqfnumkeypad"><div class="jqfnumkeypad_keypad"><table width="100%" cellpadding="0" cellspacing="0">';
for(var i = 1; i <= 9; i++) {
if((i-1)%3 == 0) keypad += '<tr>';
keypad += '<td class="jqfnumkeypad_digit">' + i + '</td>';
if(i%3 == 0) keypad += '</tr>';
}
keypad += '<tr><td class="jqfnumkeypad_digit">0</td><td class="jqfnumkeypad_clear">' + options.clearText + '</td><td class="jqfnumkeypad_coma">,</td></tr></table></div></div>';
$(keypad).insertAfter(instance).css({right: 0, top: instance.position().top});
// Prevent hide on click
instance.click(function(e) {e.stopPropagation();});
// Define on focus event
instance.focus(function() {
$('#jqfnumkeypad_' + instance.attr('name')).css('z-index', '99').fadeIn(options.fadeSpeed, function() {
// Digit click
$('#jqfnumkeypad_' + instance.attr('name') + ' .jqfnumkeypad_digit').unbind().bind('click', function(e) {
if(instance.attr('maxlength') == -1 || instance.val().length < instance.attr('maxlength')) instance.val(instance.val() + parseFloat($(this).html()));
e.stopPropagation();
});
// Clear click
$('#jqfnumkeypad_' + instance.attr('name') + ' .jqfnumkeypad_clear').unbind().bind('click', function(e) {
instance.val('');
e.stopPropagation();
});
// Coma click
$('#jqfnumkeypad_' + instance.attr('name') + ' .jqfnumkeypad_coma').unbind().bind('click', function(e) {
if(instance.attr('maxlength') == -1 || instance.val().length < instance.attr('maxlength')) instance.val(instance.val() + $(this).html());
e.stopPropagation();
});
}).siblings('div').css('z-index', '0');
// Blur to prevent instance events
instance.blur();
});
});
}
})(jQuery);
任何人都可以帮我解决这个问题吗? 当前按下逗号按钮时,它会清除输入字段。 我需要的逗号,因为所需要的投入是符合欧洲货币格式
你在调试方面有什么尝试?当你点击逗号时,它的click事件处理程序是否被调用?如果是,那么'instance.attr('maxlength')'返回的值是多少? – dgvid 2011-12-21 17:35:36