关于DOM Ready的预期警报('hi')?

时间:2013-10-07 18:31:04

标签: javascript jquery

使用以下代码: - 当DOM准备就绪时,是否存在警告消息'hi'?

here is the fiddle

HTML: -

//including jquery
<script data-require="jquery@1.6.4" 
   data-semver="1.6.4" 
   src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.6.4/jquery.min.js">
</script>

<script>
  $(document).ready(function(){
    $('.popbox').popbox(); // doesn't this execute the javascript function '$.fn.popbox' ?
  });
</script>



    <div class='popbox'> hi </div>

javascript包括: -

(function(){
    $.fn.popbox = function(){    
     alert('hi');
    }
}).call(this)

3 个答案:

答案 0 :(得分:1)

是的,但是在jsfiddle上你设置你的javascript来运行domReady之后的onload

这是working version

注意:我把它添加到头部

答案 1 :(得分:1)

看起来你的文件没有被调用。也许jquery没有加载?检查控制台是否有错误(在F12中按F12或控制+ shift + k)

你可以试试这个:

//including jquery
<script data-require="jquery@1.6.4" 
   data-semver="1.6.4" 
   src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.6.4/jquery.min.js">
</script>
<div class='popbox'> hi </div>
<script>
  (function(){
    $.fn.popbox = function(){    
      alert('hi');
    }
  }).call(this)
  $('.popbox').popbox();
</script>

答案 2 :(得分:0)

这取决于你包含“javascript included”部分的位置。在你的JSFiddle上,它在 document.ready之后运行,所以它失败了(检查你的控制台输出)。

这基本上是因为document.ready是DOMContentLoaded事件的快捷方式。这是在window.onload事件之前运行的,这是你的小提琴在JavaScript面板上添加代码的地方。