2012-11-26 40 views
2

我有下面的锚标记在我的jsp动态添加onclick事件定位标记,不工作

<a href="javascript:submit(this)">save</a> 
<a href="javascript:alert(this)">something</a> 

我需要停止默认情况下,HREF行为,尚未有这些功能在叫的onclick。对于同样我写这段代码:

$('a[href^=\'#\']').live("click", function (e) { 
    alert("I am being called #"); 
    e.preventDefault(); 
    return false; 
}); 

$(document).ready(function(){ 
     $("a[href^='javascript']").each(function(){ 
      alert("replacing"); 
      var w=$(this).attr('href'); 

      $(this).attr('href','#'); 

      $(this).attr("onclick",w); 
    }); 
}); 

但是,功能不会被点击链接调用。你能告诉我我哪里出错了吗?我使用的IE 8

+0

“我要去哪里错了,我使用的是IE 8?” - 那里。 – 2012-11-26 20:39:24

+0

@ H2CO3哈哈。 - 你尝试过'onclick = function()'吗? –

+0

为什么你不在初始标记中制作href =“#”和onclick =“submit(this)”? “onclick”不需要像/ href那样需要“javascript:”前缀...我会是你的问题的根源。 –

回答

3

试试这个:

$(document).on("click", "a[href^=\'#\']",function (e) { 
    alert("I am being called #"); 
    e.preventDefault(); 
    return false; 
}); 

$(document).ready(function(){  
     $("a[href^='javascript']").attr('href','#');  
}); 
-2

$(document).ready(function() { 
 
    var mydiv = document.getElementById("myDiv"); 
 
    var aTag = document.createElement('a'); 
 
    aTag.setAttribute('href', "#"); 
 
    aTag.setAttribute('id', "tagId"); 
 
    aTag.innerHTML = "link text"; 
 

 
    mydiv.appendChild(aTag); 
 

 
    $("#tagId").on('click', function(e) { 
 
    alert(1) 
 

 
    }); 
 
});