Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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
Javascript 通行证;这";函数似乎不起作用_Javascript_Jquery - Fatal编程技术网

Javascript 通行证;这";函数似乎不起作用

Javascript 通行证;这";函数似乎不起作用,javascript,jquery,Javascript,Jquery,我有一个功能: function test(e){ $('.movie').find('.moreInfo').removeClass('moreInfoShow'); e.parent().find('.moreInfo').addClass('moreInfoShow'); $("#movieBox").isotope('reLayout'); e.parent().find('.moreInf

我有一个功能:

function test(e){
            $('.movie').find('.moreInfo').removeClass('moreInfoShow');
            e.parent().find('.moreInfo').addClass('moreInfoShow');
            $("#movieBox").isotope('reLayout');

            e.parent().find('.moreInfo').css("opacity", "0");
            e.parent().find('.moreInfo').animate({opacity: 1}, 500);
        }
其名称为:

$("#movieBox").on('mouseover', '.moviePoster', function(event){test($(this));});
问题是我希望在页面加载时调用该函数。我需要将“this”传递给函数,但我没有运气让它工作

这就是我期望的工作:

test($(".moviePoster").first());
(所有代码都在“$(document).ready”函数中)

W/O fiddle:

更改此项:

$("#movieBox").on('mouseover', '.moviePoster', function(event){test($(this));});

那么$(this)insidetest函数应该指向触发事件的jQuery对象

使用“test($(this))”在回调中调用test函数将立即执行该函数,而不是在触发事件时执行

更新:

完成此操作后,当然需要在页面加载时触发mouseover事件。 见Jashwant关于如何做到这一点的评论

我错了

function(event){test($(this));}
当然不会立即触发回调函数。这只有在如下情况下才会发生:

$("#movieBox").on('mouseover', '.moviePoster', test($(this)));
对不起

W/O小提琴:

更改此项:

$("#movieBox").on('mouseover', '.moviePoster', function(event){test($(this));});

那么$(this)insidetest函数应该指向触发事件的jQuery对象

使用“test($(this))”在回调中调用test函数将立即执行该函数,而不是在触发事件时执行

更新:

完成此操作后,当然需要在页面加载时触发mouseover事件。 见Jashwant关于如何做到这一点的评论

我错了

function(event){test($(this));}
当然不会立即触发回调函数。这只有在如下情况下才会发生:

$("#movieBox").on('mouseover', '.moviePoster', test($(this)));

对不起

如注释中所述,在页面加载时触发
mouseover
事件

$("#movieBox").find('.moviePoster').trigger('mouseover');

如注释中所述,在页面加载时触发
鼠标悬停事件

$("#movieBox").find('.moviePoster').trigger('mouseover');

请提供一个答案。如果我没有弄错你的问题,请执行
$(“#movieBox”)。查找('.moviePoster')。触发('mouseover')页面加载。$(此)已成功传递。请查看如果您希望
引用
.moviePoster
元素,则您的代码是正确的。如果您的代码不工作,那么还有其他一些问题。您没有描述是什么原因使您相信
不是您想要的元素。你应该展示你的HTML。是的,它确实引用了。电影海报,我应该重新措辞我的问题。因为有很多电影海报元素,所以扳机不起作用。即使这样也不行:$(“#movieBox”).find('.moviePoster').first().trigger('mouseover');原因可能是什么?请提供答案。如果我没有弄错您的问题,请执行
$(“#movieBox”)。查找('.moviePoster')。触发('mouseover')页面加载。$(此)已成功传递。请查看如果您希望
引用
.moviePoster
元素,则您的代码是正确的。如果您的代码不工作,那么还有其他一些问题。您没有描述是什么原因使您相信
不是您想要的元素。你应该展示你的HTML。是的,它确实引用了。电影海报,我应该重新措辞我的问题。因为有很多电影海报元素,所以扳机不起作用。即使这样也不行:$(“#movieBox”).find('.moviePoster').first().trigger('mouseover');原因可能是什么?这不对。在回调中调用
test
不会立即执行它。它将在触发事件时被调用。这就是为什么会有一个事件处理程序。它会在事件发生时处理它。实际上,我以前就有过你建议的方式,但它似乎没有通过“这个”,或者可能是另一个问题。当函数被调用时,它应该是双向工作的,这就是问题所在。灰色状态即将到来:jsfiddle认为,我是对的:或者我遗漏了什么?灰色状态即将到来你是对的。查看我的更新。谢谢,对不起:)这不对。在回调中调用
test
不会立即执行它。它将在触发事件时被调用。这就是为什么会有一个事件处理程序。它会在事件发生时处理它。实际上,我以前就有过你建议的方式,但它似乎没有通过“这个”,或者可能是另一个问题。当函数被调用时,它应该是双向工作的,这就是问题所在。灰色状态即将到来:jsfiddle认为,我是对的:或者我遗漏了什么?灰色状态即将到来你是对的。查看我的更新。谢谢,对不起:)