我在页面做一个复制的功能, 也就是在js中获取上一个标签的内容放到下一个标签、 第一次始终复制不了上一次的内容。(所传参数这些都是对的)、 下一次就可以正常复制、
最奇怪的地方时: 我在js中alert();下随便什么东西,在页面上点击确定就能正确把上一个标签的内容复制到下一个标签、
不用alert();打死就复制不了东西. 求解答啊、 按常理来说js代码应该是对的.
------解决方案--------------------
把代码贴出来看看!!

------解决方案--------------------
代码太长,粗略看了一下。
一般来说第一次不行,第二次可以或者需要中断alert才可以,一般情况是你的javascript还没有载入完。
一般用一个setTimeout(aaa,500)延迟一点执行,或者使用回调方式确保执行顺序就可以了。
------解决方案--------------------
目测是点击的时候发送了ajax请求,ajax请求回来后,生成一定的DOM结构,
第一次点的时候请求还没回来,所以造成后续操作无效。
把loadJSP方法添加一个回调函数,请求成功后执行这个回调。
//绑定标签复制事件
$('.copyTag').live("click",function(event){
if (confirm("确认复制该标签的值到新标签吗?")) {
if ($('#tagUl li').length > 10) {
alert("标签不能大于10个");
return false;
}else{
//点击得到标签序号
var tag = $(this).parent().attr('name');
// 取得标签的个数
var number = $('.listDiv').length;
// 获取申请类型
var type = $('#paramType').val();
// 获取标签显示的数字
var copyNumber = $('#copyNumber').val();
loadJSP(function(){
// 判断是否是编辑进来。
if($('#edCopy').val() == 1){
$('#edCopy').val(0);
// 调复制的JS
copyType1(tag,type,number);
}else{
// 调复制的JS
copyType1(tag,type,copyNumber);
}
}
});
}
event.stopPropagation();
});
};
function loadJSP(callback){
if(HTMLContent == null){
if(document.all){ // browser condition
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else{
xmlhttp = new XMLHttpRequest();
}
typeValue = paramType.value;
$('#change_btn input').css("display","none");
$('#paramType'+typeValue).siblings().css("display","block");
var url = '${basePath}/pages/param/param_type'+typeValue+'.jsp';
// ajax load
xmlhttp.open("POST",url,true);
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4){
HTMLContent = xmlhttp.responseText;
addToHtml();
callback && typeof callback === 'function' && callback();//成功后执行回调。
}
};
xmlhttp.send(null);
return;
}
addToHtml(); //if HTMLContent is not null,这句就不用了吧。
};