2017-08-05 62 views
0

我使用ajaxsumit成功將文件上傳到linux服務器。如何在鼠標懸停b標籤時顯示跨度按鈕?

當上傳文件完成後,文件名和大小將顯示在我的網站上,並帶有一個取消文件按鈕。

但是,當鼠標移動到文件名上時,無法顯示取消文件按鈕。我不知道爲什麼?誰能幫我 ?

$(document).ready(function(){ 
    $('#filename').mouseover(function(){ 
     $('#cnlbtn').css("display","block"); 
    }); 
    $('#filename').mouseout(function(){ 
     $('#cnlbtn').css("display","none"); 
    }); 
}); 

$("#fileupload").change(function(){ 
    $("#myupload").ajaxSubmit({ 
     dataType: 'json', 
     beforeSend: function() {}, 
     uploadProgress: function() {}, 
     success: function(data) { 
      files.html("<br />"+"<b id='filename'>"+data.name+"("+data.size+"k)</b> <span class='delimg' rel='"+data.pic+"' id='cnlbtn'>cancelfile</span>"); 
      btn.html("addfile"); 
     }, 
     error:function(xhr){} 
     }); 

我delimg風格:

.delimg{margin-left:20px; color:#090; cursor:pointer;display:none} 
+0

將事件委託的工作?例如:'$(document).on(「mouseover」,「#filename」,function(){/// do something});'' –

回答

0

不工作,因爲當你添加事件偵聽器的標籤還沒有在DOM存在。喬B.說你需要使用事件代表團:jQuery Doc Direct and delegated events

所以,你必須做這樣的事情:在這種情況下

$(document.body).on('mouseover', '#filename', function(){ 
    $('#cnlbtn').css("display","block"); 
}); 
$(document.body).on('mouseout', '#filename', function(){ 
    $('#cnlbtn').css("display","none"); 
}); 
相關問題