【发布时间】:2020-01-17 19:21:08
【问题描述】:
我有一个 wordpress 安装,并正在尝试创建一个函数,该函数可以根据其中的 href 使整个 div 可点击。我发现很多文档告诉我这样做。
jQuery(".myBox").click(function($) {
window.location = $(this).find("a").attr("href");
return false;
});
但它不起作用,单击时没有任何反应。奇怪的是,如果我这样做只是为了测试
jQuery(".myBox").click(function($) {
window.location = "http://www.google.com"
return false;
});
然后它确实可以工作,并且 div 将重定向到 google.com,因此我实现脚本的方式似乎没有问题。我在某处使用第一种方法会出错吗?这是我的 HTML
<div class="myBox">
<p><a href="http://www.example.com/notworking">This whole box should link but doesn't.</a></p>
</div>
【问题讨论】:
-
您的问题是您将
$传递给点击事件处理程序。第一个参数是Event,而不是jQuery -
请问你为什么不把 div 放在锚标签里面?这不是一个选项吗?如果是的话,你会为自己保存函数等。我还可以问一下你是否真的有一个名为 $ 的函数,每次点击它都会触发它? api.jquery.com/click
-
@ItrysohardbutIcryharder 没有名为
$的函数。用户假设第一个参数提供给它的事件处理程序 jQuery。它不是。他们很可能因为使用$(document).ready()而感到困惑,这确实将jQuery作为第一个参数传入 -
@Taplar 我已经假设了这样的事情,但我宁愿要求澄清,而不是草率下结论。
-
鉴于他们在参数上有
$,因此询问他们是否有一个名为$的函数是不合事实的。不管他们可能有什么功能,该功能内的$将是传入的内容。
标签: javascript jquery html wordpress