Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 未捕获类型错误:对象[对象对象]没有方法';在';_Jquery_Onclick_Bind - Fatal编程技术网

Jquery 未捕获类型错误:对象[对象对象]没有方法';在';

Jquery 未捕获类型错误:对象[对象对象]没有方法';在';,jquery,onclick,bind,Jquery,Onclick,Bind,有人能帮我弄清楚吗 当我使用最新(或最新)版本的jQuery时,下面的小脚本工作正常。但是,当我使用较旧版本的jQuery时,我的脚本说,上的函数不存在 以下是我的脚本,它不适用于较旧版本的jQuery: $(document).ready(function () { $(".theImage").on("click", function(){ // In the event clicked, find image, fade slowly to .01 opacity

有人能帮我弄清楚吗

当我使用最新(或最新)版本的jQuery时,下面的小脚本工作正常。但是,当我使用较旧版本的jQuery时,我的脚本说,上的
函数不存在

以下是我的脚本,它不适用于较旧版本的jQuery:

$(document).ready(function () {
    $(".theImage").on("click", function(){
        // In the event clicked, find image, fade slowly to .01 opacity
        $(this).find("img").fadeTo("slow", .01).end()
        // Then, of siblings, find all images and fade slowly to 100% opacity
               .siblings().find("img").fadeTo("slow", 1);           
    })
})
感谢您提供的任何帮助。

您必须使用而不是,因为
上的
仅在中介绍


您必须使用jQuery 1.7+版本才能在()上使用
bind()
已弃用。

您可以使用,例如:

$("table").delegate("td", "click", function() {
  $(this).toggleClass("chosen");
});
这相当于使用
on()
编写的以下代码:


上的
功能更改为
绑定


.children().on(“click”,function()

to
.children().bind(“click”,function()

哇哦,太快了……12分钟后我才能接受答案。我会检查它是否正确……效果很好!@Christoph用户问为什么他的代码(带有
.on()
)无法使用较旧版本的jQuery…所以这个答案是fine@Alex-在这种情况下,
bind
on
以相同的方式运行。没有选择器被传递到
on
,这将导致它委托事件处理程序。@F.Calderan答案根本没有说明它的原因,尽管问题从未具体说明ally问为什么。它只是说“这是解决办法”,但没有解释最初的问题是什么;我让人们自己决定这是否构成完整的答案。当然,每个人都会自己选择:)对我来说,这很好,因为它解决了问题——这是对已删除评论的回复,而您在回答中描述的等效性是正确的,
delegate()
并不等同于OP在问题中使用的
on()
(他将元素直接附加到
.theImage
,当您将其委托给另一个元素时)。仅供参考:从jQuery 1.7开始,
委托()
已被
on()
取代。谢谢,我不知道为什么人们会对此投反对票,但我将其放在了1.7,它成功了!
$("table").delegate("td", "click", function() {
  $(this).toggleClass("chosen");
});
$("table").on("click", "td", function() {
  $(this).toggleClass("chosen");
});