如果javaScript事件调用的函数有参数,怎么改为事件监听程序的形式

wuxia2118 2014-04-26 10:25:44
比如这个程序,move函数带有参数。
<script>
function move(obj)
{
if(obj.align=="left"){obj.align="right";}
else if (obj.align=="right"){obj.align="left";}
}
</script>
<p align="left" onMouseOver="move(this)">网页设计学习网</p>

要是要写成事件监听程序的形式,则move函数后不能带有括号,那怎么带参数呢?
我写成下面这样就不行了,请问谁知道怎么改哦?
<script>
window.onload= function(){
var demo = document.getElementById("demo");
demo.onMouseOver=move;
}
function move()
{
if(this.align=="left"){this.align="right";}
else if (this.align=="right"){this.align="left";}
}
</script>
<p id="demo">Click Here</p>
...全文
167 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2014-04-26
  • 打赏
  • 举报
回复
你用的方法没有问题,只是<p>中没写align="left" 导致两个if都不执行 <script> window.onload= function(){ var demo = document.getElementById("demo"); demo.onmouseover=move; } function move() { if(this.align=="left"){this.align="right";} else if (this.align=="right"){this.align="left";} } </script> <p id="demo" align="left">Click Here</p>
孟子E章 2014-04-26
  • 打赏
  • 举报
回复
<script> window.onload= function(){ var demo = document.getElementById("demo"); demo.onmouseover=move; } function move(evt) { if(this.style.textAlign=="right"){this.style.textAlign="left";} else {this.style.textAlign="right";} } </script> <p id="demo">Click Here</p> 也可以使用 ele = window.event?event.srcElement:evt.target 实现
hch126163 2014-04-26
  • 打赏
  • 举报
回复
<script> window.onload= function(){ var demo = document.getElementById("demo"); demo.onMouseOver=function(){move(demo );}; } function move(obj) { if(obj.align=="left"){obj.align="right";} else if (obj.align=="right"){obj.align="left";} } </script>
  • 打赏
  • 举报
回复
demo.onMouseOver=function(){ move(a,b,c); }; 另外,函数里面this的指向 是有调用它的对象决定的 事件调用this 指向触发事件的对象,里面的this指向p
孟子E章 2014-04-26
  • 打赏
  • 举报
回复
demo.onMouseOver 需要改成 demo.onmouseover 才可以
wuxia2118 2014-04-26
  • 打赏
  • 举报
回复
3楼4楼的程序我测试都是正确的。 可是1楼2楼的方法不行啊,而且让我纠结的是,firefox里也没提示错误,可就是没有效果。谁知道2楼的方法错在哪了啊?我把move里的参数换成demo或this都不行 <script> window.onload= function(){ var demo = document.getElementById("demo"); demo.onMouseOver=function(){move(this);}; } function move(obj) { if(obj.align=="left"){obj.align="right";} else if (obj.align=="right"){obj.align="left";} } </script> <p id="demo" align="left">Click Here</p>

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧