Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/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
Javascript $(window).bind(";load";,function(){}事件_Javascript_Css_Html - Fatal编程技术网

Javascript $(window).bind(";load";,function(){}事件

Javascript $(window).bind(";load";,function(){}事件,javascript,css,html,Javascript,Css,Html,好的,我有一个包含两个div的父div。父div自然会和最高的子div一样高,这取决于内容。但是,我希望两个子div的动态高度相同,而不管内容如何。因此,我决定用JavaScript编写它。我有: <!--- Make main div's same height --> <script type="text/javascript"> $(window).bind("load", function() { setDivHeight() { var l

好的,我有一个包含两个div的父div。父div自然会和最高的子div一样高,这取决于内容。但是,我希望两个子div的动态高度相同,而不管内容如何。因此,我决定用JavaScript编写它。我有:

<!--- Make main div's same height -->

<script type="text/javascript">

$(window).bind("load", function() {
   setDivHeight() {
      var left = $('#primary');
      var right = $('#secondary');

      var maxHeight = Math.max(left.height(), right.height());

      left.height(maxHeight);
      right.height(maxHeight);
   }
});

</script>

$(窗口).bind(“加载”,函数(){
setDivHeight(){
var left=$(“#primary”);
var-right=$(“#次要”);
var maxHeight=Math.max(left.height(),right.height());
左。高度(最大高度);
右。高度(最大高度);
}
});
但是,当我尝试运行它时,我在控制台中收到以下消息:

未捕获类型错误:对象[object]的属性“$”不是函数

我已经研究了大约4个小时了,我已经放弃了希望


有人能告诉我我做错了什么吗?

这听起来好像代码上面的页面中没有包含jQuery,或者您这样做了,但是有什么东西接管了
$
符号

确保jQuery在代码之前加载,如下所示(这只是您可能使用的一个链接):

它使用
jQuery
符号,将其作为
$
参数传递到函数中。即使
$
是该函数之外的其他内容,在该函数中,它也将是
jQuery


旁注1:您的代码包含语法错误。您的意思可能是:

(function($) {
    $(window).bind("load", function() {
        var left = $('#primary');
        var right = $('#secondary');

        var maxHeight = Math.max(left.height(), right.height());

        left.height(maxHeight);
        right.height(maxHeight);
    });
})(jQuery);

旁注2:window
load
事件发生在加载过程的后期,即加载所有图像后。这可能是您想要的(例如,如果div的高度部分由图像决定),但如果不是,您可能希望改用
ready
(在本例中,使用其快捷方式之一),因为它发生得更快:

jQuery(function($) {
    var left = $('#primary');
    var right = $('#secondary');

    var maxHeight = Math.max(left.height(), right.height());
    left.height(maxHeight);
    right.height(maxHeight);
});

不过,也许你等待这些图片也是有原因的。

因为图片和视频,我需要
加载
事件。客户的网站是WordPress网站,主题是一个12岁的孩子(我再也不会这么做了)。他有很多页面,自定义帖子类型(其中一些包括从youtube和imgur等不同服务获取的图像和视频)。默认情况下不会调用jQuery(与我通常使用的骨架主题不同,为什么我错过了它),所以我所要做的就是将
包含在主题的
header.php
中。除此之外,还有您在旁注1中的代码更正,它就可以工作了。谢谢!
(function($) {
    $(window).bind("load", function() {
        var left = $('#primary');
        var right = $('#secondary');

        var maxHeight = Math.max(left.height(), right.height());

        left.height(maxHeight);
        right.height(maxHeight);
    });
})(jQuery);
jQuery(function($) {
    var left = $('#primary');
    var right = $('#secondary');

    var maxHeight = Math.max(left.height(), right.height());
    left.height(maxHeight);
    right.height(maxHeight);
});