我使用以下代码向页面添加按钮
$("#myDiv").html("<button id='fileUpload'>Upload</button>");
然后我在按钮上创建了一个Ajax Upload实例。
var button = $('#fileUpload'), interval;
new AjaxUpload(button, {
action: '/upload.ashx',
name: 'myfile',
onSubmit: function(file, ext) {
button.text('Uploading');
this.disable();
// Uploding -> Uploading. -> Uploading...
interval = window.setInterval(function() {
var text = button.text();
if (text.length < 13) {
button.text(text + '.');
} else {
button.text('Uploading');
}
}, 200);
},
onComplete: function(file, response) {
button.text('Upload');
window.clearInterval(interval);
}
});
我想要做的是将按钮附加到页面,然后模拟自动点击它。我该怎么做呢?
更新
现在代码如下:
$("#myDiv").html("<button id='fileUpload'>Upload</button>");
var button = $('#fileUpload'), interval;
new AjaxUpload(button, {
action: '/upload.ashx',
name: 'myfile',
onSubmit: function(file, ext) {
button.text('Uploading');
this.disable();
// Uploding -> Uploading. -> Uploading...
interval = window.setInterval(function() {
var text = button.text();
if (text.length < 13) {
button.text(text + '.');
} else {
button.text('Uploading');
}
}, 200);
},
onComplete: function(file, response) {
button.text('Upload');
window.clearInterval(interval);
}
});
$('#fileUpload').click();
.click事件似乎没有触发。它在代码中达成但没有任何作用......
**更新**
$('#fileUpload').click();
需要
$('input').click();
请检查接受的答案以了解原因。
答案 0 :(得分:3)
我想要做的是追加按钮 到页面然后模拟点击它 自动。我该怎么办? 这样做?
简短的回答是你没有。
答案很长:
首先,您需要了解AJAX上传的工作原理。
插件会创建不可见的文件输入 你提供的按钮顶部,所以当 用户点击你的按钮正常 显示文件选择窗口。和 用户选择文件后插件 提交包含文件输入的表单 到iframe。所以这不是真正的ajax 上传,但带来相同的用户 经验。
这里有两件事:
答案 1 :(得分:2)
按钮上实际上没有click
处理程序,因此没有任何反应。
答案 2 :(得分:1)
只需走
$('#fileUpload').click();
答案 3 :(得分:1)
您可以像这样调用按钮上的点击处理程序:
$('#fileUpload').click();
您已经处理过将其添加到页面中。
答案 4 :(得分:-1)
$('body').append('<a href="somepage.ashx" id="send">Go</a>').find('#send').click();