1

我有下一个代码:

<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>

看起来像:

在此处输入图像描述

当用户在 1,2,3 之间经过时,Body 会更改为适合的 body(通过 javascript 函数)。

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

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

例如

在我附上的图片中,如果用户按下 2,我希望在 func2 中,我会知道他在1他来 2 之前就在里面。

任何帮助表示赞赏!

4

3 回答 3

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>

演示

于 2013-06-17T13:00:05.063 回答
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”。

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

于 2013-06-17T12:49:59.720 回答
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;
}

谢谢你们!

于 2013-06-17T12:57:20.773 回答