javascript 事件处理1

今天测试了这样的一个实例:


html文件为:

<html>

    <script src = "js1.js" type = "text/javascript"></script>
    <body>
        <pre id="message"></pre>
        <button>target vs this</button>
    </body>
<html>



js文件为:

window.onload = function ()
{
    var abc = document.getElementsByTagName('button')[0]; //Elements!
    abc.onclick = showTargetAndThis;
}

function showTargetAndThis(event){ // event driven, by clicking
    var paragraph = document.getElementById("message"); // Element!
    var eventInfo = createTargetAndThisInfo(event);
    var textNode = document.createTextNode(eventInfo);
    paragraph.appendChild(textNode);
}

function createTargetAndThisInfo(event)
{
    var message = "target: " + event.target + "\n";
    message += "this: " + this;
    return message;
}

而网页能够完成的功能就是在点击按钮后能够输出一些关于window的信息。而这里我们利用firebug调试。



则下方会出现网页的脚本。在脚本的第九行有一个断点。我们执行程序,执行到断点处。点击执行后,状态变成:

 不能再点击执行了。这是为什么呢?那是因为程序正在等待我们的点击事件发生。那么我们现在点击一下按钮,则执行状态会变成:


这是程序进入了showTargetAndThis函数中,再执行下面的代码,就不用说了,接着程序执行的结果是:


这样就成功执行了程序。


在做这个脚本时,我犯了一个错误,那就是getElementsByTagName 这里的element是复数形式,因为可能有多个同样的tag,返回的是一个数组。但是getElementById这个函数会返回第一个id等于参数的元素,因此就是一个普通的变量。我在写程序时,就没有看到这点,所以总是没有办法处理。其实这也和IDE有关系的,我用的是notepad++,是没有函数提醒的,纯手打,所以犯错总是无可避免的。但就是犯了这个错误,才对js有了一个看法,这对学习也是有好处的。当然啦,在编程效率来说,一个便捷的IDE,是必不可少的。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值