2011-05-09 95 views
0

在Firefox中,當您選擇文本字段(我使用的是Ubuntu 11.04)時,我的光標會變成您看到的那個。jQuery代碼行使我的光標變成'文本光標'?

的問題似乎是以下(因爲光標返回到默認或指針,如果我評論的話)的註釋行:

<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的檢查(出於某種原因,光標看起來正常的截圖):

enter image description here

+0

你所有的JS會打破。你的意思是你評論了整個方法嗎? – JohnP 2011-05-09 08:21:10

+0

你也在'onComplete'之前缺少一個''',但是如果你註釋那一行,代碼就會被破壞。 – DarthJDG 2011-05-09 08:22:50

+0

@JohnP是的,我認爲問題是整個'onSubmit'函數。 – alexchenco 2011-05-09 08:27:00

回答

1

阿賈克斯上傳使用的隱藏<input type="file" />的方法這反過來又可以讓你有一個個性化的「瀏覽計算機」按鈕,將打開一個文件等等等等等等您面臨的問題是,你不能改變光標的<input type="file" />

你的理由不得不忍受它,或者用css將輸入推到左邊,這樣按鈕區域會給出默認光標而不是文本。

而且你輸入應該有透明度,這使得它無形的肉眼卻是有沒有少[上CSS]如果評論只是1號線

+0

所以這個問題是不可能解決的? – alexchenco 2011-05-09 09:41:49

+0

在我看來,是的,因爲瀏覽器已將此視爲安全風險,因爲許多人會誤導(非電腦文字),我認爲這很愚蠢,如果他們不知道選擇文件窗口,允許您上傳東西,他們不知道鼠標光標差異大聲笑:) – Val 2011-05-09 09:58:13