5

我继承了一个软件,它是一种我无法确定点击事件在 jQuery 中的位置的形式。

当用户单击表单上的文本框时,它旁边的复选框会使用我似乎找不到的 jquery 调用进行切换。我已经搜索了 associates .js 文件,但我终其一生都找不到它。

是否有任何工具、提示或技巧可以用来查找触发点击事件的调用内容,以便我可以更改/停用它?

以下是表单周围的标记示例:

<li>
    <input type="checkbox" name="checkbox_other1" id="checkbox_other1" value="checkbox_other1" />
    <label for="checkbox_other1">Other <input type="text" id="textfield_other1" name="textfield_other1" size="35" maxlength="35">.</label>
</li>
<li>
    <input type="checkbox" name="checkbox_other2" id="checkbox_other2" value="checkbox_other2" />
    <label for="checkbox_other2">Other <label for="checkbox_other2">
        <input type="text" id="textfield_other2" name="textfield_other2" size="35" maxlength="35">.
    </label>
</li>

谢谢。

解决方案 所以看来我的想法太高了。导致问题的不是 jquery/javascript,而是将文本字段附加到复选框的标签标签。感谢所有的帮助。

4

3 回答 3

4

视觉事件是在网页上查找事件的非常方便的工具。

您可以将其添加为书签,然后在任何网页上使用。

也可作为chrome 扩展

于 2013-05-22T21:58:53.650 回答
0

不知道为什么我花了这么长时间才意识到,但是您可以直接打印 onclick 处理程序:

<html>
    <head>
        <script>
            function thisiswhyimhot()
            {
                alert("this is why you're not");
            }

            function mybodyisready()
            {
                alert(document.getElementById("hottestdivever").onclick);
            }
        </script>
    </head>
    <body onload="mybodyisready()">
        <div id="hottestdivever" onclick="thisiswhyimhot()"></div>
    </body>
</html>

将弹出一个警报,内容如下:

function onclick(event) {
thisiswhyimhot()
}

如果处理程序是用 JQuery 设置的,它的存储方式略有不同:

alert(jQuery._data(document.getElementById("hottestdivever"), "events").click[0].handler);

这会给你一些在你的 JS 中搜索的东西。

最后,一个JSFiddle演示了 vanilla Javascript 和 jQuery 方法。

在其他新闻中,从现在到时间结束,我为我编写的每个加载体都有一个新的函数名称......

于 2013-05-22T21:28:01.160 回答
-2

试试 event.type

$("#test").on("click change", function(event){
    alert(event.type + " is fired");
});
于 2013-05-22T14:42:01.503 回答