我尝试使用javascript和jquery来设置标签的href属性,因为我需要从canvas下载图片。但是,我遇到了一些问题。我无法弄清楚原因,所以我在这里发布我的问题。
如果我使用id设置监听器,则监听器功能不会捕获事件,就像下面的png按钮一样。
比较jpegBtn2和jpegBtn,我使用普通的javacsript来设置前href属性,而对于后者,我用jquery来进行操作。这两种方法都可以下载图片,但是jpegBtn2方法下载的图片无法正常打开。后来我检查了chrome控制台,我发现jpegBtn2的href仍然是#34;#",但是jpegBtn的href发生了变化。我不知道这个。
这是我的代码:
if(!setDownloadDialogOrNot){
$('div.dialogBtnSet').append('<a class="jpegBtn2" id="jpegBtn2Id" type="button" href="#">close</a>');
$('div.dialogBtnSet').append('<a class="jpegBtn" type="button" href="#">jpeg</a>');
$('div.dialogBtnSet').append('<a id="pngBtn" type="button" href="#">png</a>');
setDownloadDialogOrNot=true;
};
$('.jpegBtn2').on('click',function(){
setDownloadCanvas(1);
$('.jpegBtn2').attr('download',filename+'.jpeg');
document.getElementById('jpegBtn2Id').href=document.getElementById('downloadCanvas').toDataURL('image/jpeg'));
$('div#downloadDialog').dialog('close');
});
$('.jpegBtn').on('click',function(){
setDownloadCanvas(1);
$('.jpegBtn').attr('download',filename+'.jpeg');
$('.jpegBtn').attr('href',document.getElementById('downloadCanvas').toDataURL('image/jpeg'));
$('div#downloadDialog').dialog('close');
});
$('#pngBtn').on('click',function(){
setDownloadCanvas(0);
$('#pngBtn').attr('download',filename+'.png');
$('#pngBtn').attr('href',document.getElementById('downloadCanvas').toDataURL('image/png'));
$('div#downloadDialog').dialog('close');
});
`
答案 0 :(得分:0)
要将事件绑定到动态添加的元素,您需要使用
{"time":1440827858965,"event":{
//other arrays
}
http://api.jquery.com/on/#direct-and-delegated-events
public class Response
{
public MatchEvent event { get; set; } //error is here
}
public class MatchEvent
{
}