首页新闻找找看学习计划

js怎样获取onclick的返回值

0
[已解决问题] 解决于 2016-01-14 17:50

写一个弹出框,绑定onclick事件是好像控制不了它的返回值。代码如下

function createBtn(){
for(var i = 0; i < _this.btn.length; i++){
var btn = document.createElement('span');
btn.id = 'btn_' + i;
btn.innerHTML = _this.btn[i];
btn.style.padding = '5px 15px';
btn.style.background = '#E5E5E5';
btn.style.borderRadius = '5px';
btn.style.marginRight = '15px';
btn.style.cursor = 'pointer';
document.getElementById('btn_box').appendChild(btn);
//btn.onclick = closeBox;
}
}
function closeBox(){
var box = document.getElementById('msg_box');
box.remove();
if(this.id == 'btn_0'){
isBool = true;
}else{
isBool = false;
}
return isBool;
}

*逍遥游*的主页 *逍遥游* | 菜鸟二级 | 园豆:230
提问于:2015-06-11 14:50
< >
分享
最佳答案
-1
var click_yes = function(){
      alert("Yes has been clicked");
};

var click_no = function(){
      alert("No has been clicked");
};

var btn_infos = [{id:"1",name:"yes",action:click_yes},{id:"2",name:"no",action:click_no}]

function createBtn(btn_info){
    var btn = document.createElement('span');
    btn.id = 'btn_' + btn_info.id;
    btn.innerHTML = btn_info.name;
    btn.style.padding = '5px 15px';
    btn.style.background = '#E5E5E5';
    btn.style.borderRadius = '5px';
    btn.style.marginRight = '15px';
    btn.style.cursor = 'pointer';

    //btn.onclick = btn_info.action;
    btn.addEventListener("click", btn_info.action, false);
    document.getElementById('btn_box').appendChild(btn);
}

btn_infos.forEach(function(btn_info){
  createBtn(btn_info);
});

提主提问题时最后能帮助答者准确明白你的意图,JS的话,至少copy下来能跑。 _this.btn 完全看不懂是什么东西,看评论后猜测可能是为了放“Yes”,“No”, 两个按钮的信息,如果是这样,我会按照这个意图来回答。

 

既然btns的ID,HTML,都是参数传递进去,事件不妨也放入数组中传递。

奖励园豆:5
winfa | 初学一级 |园豆:165 | 2015-12-03 23:37

_this.btn 确实是用来存按钮的值的。你用事件传递进去是可以绑定事件弹出alert() 但我要的效果是在alert(),这里return 一个值给初始调用的地方接收这个值,不知道你这个要怎样写,怎么调用才能达到这个效果呀?

*逍遥游* | 园豆:230 (菜鸟二级) | 2015-12-04 11:51
其他回答(4)
0

你那个remove究竟是想删除什么?索引都没有,还有你返回了没弹出是正常的,你压根就没调用你的返回值,比还是给个详细的代码来看看吧

心胸广阔 | 园豆:186 (初学一级) | 2015-06-11 15:06

可能我的实现方式就有问题,我要的效果就是模拟一个对话框,对话框里有“确定”

“取消”两个按钮,问题是要怎样知道点击的是哪个按钮呢?

支持(0) 反对(0) *逍遥游* | 园豆:230 (菜鸟二级) | 2015-08-11 15:28
0

你是想根据返回的值来判断是不是要触发onclick?

angelshelter | 园豆:9676 (大侠五级) | 2015-06-11 21:50

 我想接收onclick的返回值呀

支持(0) 反对(0) *逍遥游* | 园豆:230 (菜鸟二级) | 2015-08-11 15:33

@web技术先锋: 很少听说事件有返回值的,直接设置一个全局变量算了。

支持(0) 反对(0) angelshelter | 园豆:9676 (大侠五级) | 2015-08-15 21:26
0

用回调可以实现

*逍遥游* | 园豆:230 (菜鸟二级) | 2015-08-28 09:14
0

(1)全局变量(2)callback

我是糖糖 | 园豆:446 (菜鸟二级) | 2015-11-24 20:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册