js基础——操作行内样式和对触发事件的理解

本文是对上一文"js基础"的补充

一、 操作行内样式
1. 上文说到:通过对象.style.属性名js只能操作行内样式。它实际的含义是:通过该方法只能获取到行内样式,但是无论外部样式或者内嵌样式是否有某一个属性,都可以通过对象.style.属性名修改该属性的值,此时相当于给行内样式增加该属性,并赋值。当该对象的行内样式的属性有值时,由于行内样式的优先级大于内嵌样式,故最终会应用新的值

在这里插入图片描述

<javascript>
console.log(document.getElementById("p").style.borderColor);<!--NAN-->
<!--可给p的border的颜色重新赋值,且该属性为内嵌样式-->
document.getElementById("p").style.borderColor = "#e40000";
</javascript>
<style>
p{
	border:1px solid transparent;
}
</style>
<body>
<p>1</p>
</body>
2. 无论该对象有没有行内样式,通过对象.style可获取到所有样式属性。但未给其中的属性赋值前,属性对应的值都为空

在这里插入图片描述

二、 window.eventeventarguments[0]在不同情况下的应用

无论在任何标签内输出 window.eventeventarguments[0]以及后两种方式输出形参e都是当前正在被触发的事件(即值都是一样的)

1. 在行内直接写代码
无法传参。
所有浏览器都支持window.eventevent来获取当前正在被触发的对象的事件。而IE8及其以下不能使用arguments[0]来获取,其余浏览器则可以
<p onclick = "alter(event)"></p>
<p onclick = "alter(window.event)"></p>
<p onclick = "alter(arguments[0])"></p>
2. 在行内调用函数
可传参,也可直接调用
传参只可传window.eventeventarguments[0](不能传e,e在此处无意义),window.eventevent也可以在对应的函数中直接调用(不能直接在函数中使用e为形参(e无值)),但arguments[0]不可以直接调用。IE8及其以下无法识别arguments[0]
<script>
function test(e){
        console.log(e);//所有浏览器都可以输出当前被触发的事件
        //以下三种方式除第三种IE8以下不能使用以外,其他浏览器都可以使用
        console.log(event);
        console.log(window.event);
        console.log(arguments[0]);
    }
</scripy>
<body>
 <p>
    <input type="text" onclick="test(event)">
    //或
     <input type="text" onclick="test(window.event)">
     //或
      <input type="text" onclick="test(arguments[0])">
    </p></
   body>
3. js与html分开(内嵌或者外部都可)
可传参,也可直接调用
可以在函数中写形参e(或者任意名称(不可以写window.event)),此时e代表当前正在被触发的事件。所有浏览器都可以使用。也可以直接在函数内输出window.eventeventarguments[0](IE8以下不可用)
<script>
	document.querySelector("#1").onclick = function(e){
	console.log(e);
	console.log(event);
   console.log(window.event);
    console.log(arguments[0]);
}
</script>
<body>
	<p id="1">2</p>
</body>
4. 监听事件
可传参,也可直接调用
可以在函数中写形参e(或者任意名称(不可以写window.event)),此时e代表当前正在被触发的事件。所有浏览器都可以使用。也可以直接在函数内输出window.eventeventarguments[0](IE8及其以下也可以用!!!!)
<script>
 var spanList = document.getElementsByTagName("span");
            spanList[0].addEventListener("click", function (e) {
                console.log(e);
                console.log(event);
  				 console.log(window.event);
   				 console.log(arguments[0]);
            })
</script>
<body>
	<span>2</span>
</body>
````
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值