如何将href变量传递给javascript

时间:2013-09-27 15:56:27

标签: javascript php html

所以我有一个JS函数,当点击多个html href时运行。也就是说,我有大约4种不同的href类似于:

<a href='#' onClick="myPopup()">New Window</a>

我的JS看起来像这样:

<script language="javascript" type="text/javascript"> 
<!--
function myPopup() 
{
    window.open( "account_edit.php", "myWindow", "status = 1, height = 300, width = 300, resizable = 0" )   
}
//-->
</script>

我的观点是,我不想再重写那一块脚本3次。有没有办法我可以让脚本告诉哪个href被点击,然后打开它各自的页面?显然正常的href是不合适的,否则我会这样做。谢谢您的帮助!

3 个答案:

答案 0 :(得分:4)

function myPopup(target) 
{
    window.open( target, "myWindow", "status = 1, height = 300, width = 300, resizable = 0" )   

然后使用不同的目标从每个<a>调用它:

<a href='#' onClick="myPopup('account_edit.php')">New Window</a>

Bonus Track:你可以用jquery(更干净!)来使这个不引人注目!

HTML:

<a href="account_edit.php">New Window</a>

JS:

$(function(){
    $('a').click(function(e){
        e.preventDefault(); //prevents browser from following link
        window.open( this.href, "myWindow", "status = 1, height = 300, width = 300, resizable = 0" )
    });
});

注意:如果你没有指定fqdn,浏览器会将你当前的URL路径添加到href(所以如果你从abc.com/test/test.htm调用它,弹出窗口将在abc.com/中打开测试/ account_edit.php)

答案 1 :(得分:1)

好吧,你可以通过参数传递一些独特的东西:

<a href='#' onClick="myPopup('link1')">New Window</a>

然后在这里:

<script language="javascript" type="text/javascript"> 
function myPopup(link) 
{
    alert('you cliked on link '+link); //or do whatever your want
}

</script>

答案 2 :(得分:1)

只需在javascript函数调用中传递一些参数,如New Window,New Window等等