可能重复:
当前元素作为其事件函数参数
这会有用吗?
<script type="text/javascript">
var foo = function(param)
{
param.innerHTML = "Not a button";
};
</script>
<button onclick="foo(this)" id="bar">Button</button>
Run Code Online (Sandbox Code Playgroud)
而不是这个?
<script type="text/javascript">
var foo = function()
{
document.getElementId("bar").innerHTML = "Not a button";
};
</script>
<button onclick="foo()" id="bar">Button</button>
Run Code Online (Sandbox Code Playgroud)
并且第一种方法是否允许我从其他地方加载javascript以对任何页面元素执行操作?
Kon*_*nev 39
您拥有的代码可以使用,但是从全局上下文执行,这意味着它this
引用了全局对象.
<script type="text/javascript">
var foo = function(param) {
param.innerHTML = "Not a button";
};
</script>
<button onclick="foo(this)" id="bar">Button</button>
Run Code Online (Sandbox Code Playgroud)
您还可以使用非内联替代方法,该方法附加到特定元素上下文并从中执行,允许您从中访问元素this
.
<script type="text/javascript">
document.getElementById('bar').onclick = function() {
this.innerHTML = "Not a button";
};
</script>
<button id="bar">Button</button>
Run Code Online (Sandbox Code Playgroud)
Ark*_*ski 17
您总是可以以不同foo.call(this);
方式调用this
函数:这样您就可以在函数内部使用上下文.
例:
<button onclick="foo.call(this)" id="bar">Button</button>?
var foo = function()
{
this.innerHTML = "Not a button";
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
114484 次 |
最近记录: |