一行jQuery代码使我的光标变成'文本光标'?

时间:2011-05-09 08:12:32

标签: jquery

在Firefox中,我的光标变为您选择文本字段时看到的光标(我正在使用Ubuntu 11.04)。

问题似乎是下面的注释行(因为如果我对它进行注释,游标将返回默认值或指针):

<script type="text/javascript" >
    $(function(){
        var btnUpload=$('#upload');
        var status=$('#logo-upload-status');
        new AjaxUpload(btnUpload, {
            action: '<?php bloginfo('template_directory'); ?>/upload-file.php',
            name: 'uploadfile',
            /* this is the problem -> onSubmit: function(file, ext){  */
                 if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){
                    status.text('Only JPG, PNG or GIF files are allowed');
                    return false;
                }
                status.text('Uploading...');
            }
            onComplete: function(file, response){
                //On completion clear the status
                status.text('');
                //Add uploaded file to list
                if(response==="success"){
                    $('<li></li>').appendTo('#files').html('<img src="<?php bloginfo('template_directory'); ?>/images/'+file+'" alt="" /><br />'+file).addClass('success');
                    $('#<?php echo $logo_image; ?>').val(file);
                } else{
                    $('<li></li>').appendTo('#files').text(file).addClass('error');
                }
            }
        });

    });
</script>

按钮:

   <input type="button" class="background_pattern_button" id="upload" value="Choose Logo" />

有什么建议吗?

编辑:

Firebug Inspector(由于某种原因,屏幕截图中的光标看起来很正常):

enter image description here

1 个答案:

答案 0 :(得分:1)

Ajax上传使用隐藏<input type="file" />的方法,这反过来允许您拥有个性化的“浏览计算机”按钮,该按钮将打开文件等等。您面临的问题是您无法更改<input type="file" />

的光标

你只需要忍受它,或者用css将输入推到左边,这样按钮区域就会提供默认光标而不是文本。

此外,您的输入应该具有不透明度,使其肉眼看不见但是它仍然存在[在css上]