Ton*_*niq 29 javascript onclick
有没有办法像这样编写以下内联代码?
<a href="#" onClick="function(){
//do something;
return false;
};return false;"></a>
Run Code Online (Sandbox Code Playgroud)
而不是这样做:
<a href="#" onClick="doSomething(); return false;"></a>
function doSomething(){
//do something;
}
Run Code Online (Sandbox Code Playgroud)
Muk*_*mar 44
您可以使用自执行匿名函数.这段代码可以工作:
<a href="#" onClick="(function(){
alert('Hey i am calling');
return false;
})();return false;">click here</a>
Run Code Online (Sandbox Code Playgroud)
小智 16
这应该工作
<a href="#" onclick="function hi(){alert('Hi!')};hi()">click</a>
Run Code Online (Sandbox Code Playgroud)
您可以在onclick中内联任何javascript,就好像您通过javascript分配方法一样.我认为只是让代码更清晰,将js保存在脚本块中
Kar*_*loX 15
根据 @Mukund Kumar 给出的答案,这里有一个将事件参数传递给匿名函数的版本:
<a href="#" onClick="(function(e){
console.log(e);
alert('Hey i am calling');
return false;
})(arguments[0]);return false;">click here</a>
Run Code Online (Sandbox Code Playgroud)
这不是真正推荐的,但您可以像这样内联执行所有操作:
<a href="#" onClick="function test(){ /* Do something */ } test(); return false;"></a>
Run Code Online (Sandbox Code Playgroud)
但是我想不出任何情况下这比在其他地方编写函数并调用它更好onClick。