javascript - button通过this绑定onclick事件
天蓬老师
天蓬老师 2017-04-11 12:54:05
[JavaScript讨论组]

初学前端,遇到了一个问题,请指教:delBtnHandle(obj)这里会报错,并没有绑定上点击事件
图片描述

task.js:

/**
 * aqiData,存储用户输入的空气指数数据
 * 示例格式:
 * aqiData = {
 *    "北京": 90,
 *    "上海": 40
 * };
 */
var aqiData = {};

/**
 * 从用户输入中获取数据,向aqiData中增加一条数据
 * 然后渲染aqi-list列表,增加新增的数据
 */
function addAqiData() {
    var city = document.getElementById("aqi-city-input").value;
    var point = document.getElementById("aqi-value-input").value;
    eval("aqiData." + city + " = " + point);
}

/**
 * 渲染aqi-table表格
 */
function renderAqiList() {
    var textval = "城市空气质量操作";
    var targetTable = document.getElementById("aqi-table");
    for(var key in aqiData){
        textval += "" + key + "" + aqiData[key] + "";
    }/*onclick='delBtnHandle(this)'*/
    targetTable.innerHTML = textval;
}

/**
 * 点击各个删除按钮的时候的处理逻辑
 * 获取哪个城市数据被删,删除数据,更新表格显示
 */
 delBtnHandle(obj){
  // do sth.
  var rowNum = obj.parentNode.parentNode.rowIndex;
  var targetkey = obj.parentNode.parentNode.firstChild.innerHTML;
  delete aqiData[targetkey];
  document.getElementById("aqi-table").deleteRow(rowNum);
}
/**
 * 点击add-btn时的处理逻辑
 * 获取用户输入,更新数据,并进行页面呈现的更新
 */
function addBtnHandle() {
  addAqiData();
  renderAqiList();
  document.getElementById("aqi-city-input").value = "";
  document.getElementById("aqi-value-input").value = "";
  document.getElementsByClassName("delBtn").onclick = function(){
      delBtnHandle(this);
  }
}


function init() {

  // 在这下面给add-btn绑定一个点击事件,点击时触发addBtnHandle函数
    document.getElementById("add-btn").onclick = function(){
        addBtnHandle();
    }
  // 想办法给aqi-table中的所有删除按钮绑定事件,触发delBtnHandle函数
    

}

window.onload = function(){
    init();
}

task.html:



  
    
    IFE JavaScript Task 01
    
  


  



[1]: /im

g/bVDmlE

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号