知道用户之前按下了哪个链接

时间:2013-06-17 12:40:16

标签: javascript jquery html

我有下一个代码:

<td colspan="2" style="padding:5px 0 10px 5px;">
    <a class="Option" id="option1" onclick="func1();">1</a>
    <a class="Option" id="option2" onclick="func2();">2</a>
    <a class="Option" id="option3" onclick="func3();">3</a>
</td>

看起来像是:

enter image description here

当用户在1,2,3之间传递时,Body会更改为fit body(通过javascript函数)。

我希望每个函数(func1func2func3)知道用户是否来自其中一个函数:func1/func2/func3。 (也许警告:“是”或“不是”)。

P.S。用户可以从其他页面到达这些功能..

例如

在我附加的图片中,如果用户按下2,我希望在func2中,我会在{2}之前知道他在1

任何帮助表示赞赏!

3 个答案:

答案 0 :(得分:1)

前一段时间我发现这个方法来获取函数名称

<a class="Option" id="option1" onclick="func1(1);">1</a>

<script type="text/javascript">
function func1() {
    var functionName = arguments.callee.toString().match(/function ([^\(]+)/)[1]
    alert(functionName);
}
</script>

提醒“func1”。

但这不可靠。据我所知,没有标准的方法来获取函数的名称。

答案 1 :(得分:1)

正如pandavenger和deepi所说,我保存了一个全局变量:“came_from”,并且在每个函数的末尾(func1,func2和func3),我通过以下方式保存它:1,2,3 ..

var came_from = 0;

func1() {
   if (came_from != 2 && came_from != 3) { do something }
   .....
   came_from = 1;
}

func2() {
   .....
   came_from = 2;
}

func3() {
   .....
   came_from = 3;
}

谢谢大家!

答案 2 :(得分:1)

检查

<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.js"></script>
        <style type="text/css">
            a{border:1px solid red;cursor:pointer;}
        </style>  
    </head>
    <body>
        <table>   
            <tr>
                <td>
                    <a class="Option" id="option1">1</a>
                    <a class="Option" id="option2">2</a>
                    <a class="Option" id="option3">3</a>
                </td>
            </tr> 
        </table>
        <div id="result">teste</div>
        <script type="text/javascript">//<![CDATA[ 

            var previous = 'None';
            $(document).ready(function() {

                $('.Option').click(function(e) {
                    $('#result').html(previous);
                    previous = $(this).prop("id");
                    e.preventdefault;
                });
            });
            //]]>  

        </script>
    </body>
</html>

DEMO