for(var i=0; i < 2; i++){
someNode.onclick = function(num){
return function(){
alert(num);
}
}(i)
}
这是我的javascript,
<a href="http://example.com/"></a>
这是我在html中的节点
由于关闭问题,我需要在函数内部嵌入一个函数,所以如何在单击链接时阻止链接将我重定向到其他页面?因为它已经返回一个函数。我无法添加return false;
答案 0 :(得分:3)
您可以添加return false;
:
for(var i=0; i < 2; i++){
someNode.onclick = function(num){
return function(){
alert(num);
return false;
}
}(i);
}
或者您可以使用e.preventDefault
:
for(var i=0; i < 2; i++){
someNode.onclick = function(num){
return function(e){
e.preventDefault();
alert(num);
}
}(i);
}
答案 1 :(得分:0)
尝试这种方式:(灵感来自this。)
<强> DEMO 强>
// Your Existing code
for(var i=1; i <= 2; i++){
document.getElementById("link"+ i).onclick = function(num){
return function(){
alert(num);
}
}(i);
}
// Update the onclick event handlers to return false at end.
for(var i=1; i <= 2; i++) {
var node = document.getElementById("link"+ i);
node.onclick = (function (fn) {
return function () {
fn.apply(fn, arguments);
return false;
};
})(node.onclick);
}