0

謎の JS 問題があります。1 つの関数でさまざまな jQuery プラグインをアクティブにしています。次のように呼び出されます。

<script>
postAjaxCalls();
</script>

次に、対応する関数は次のようになります。

function postAjaxCalls() {
    jQuery("[title]").tooltip(); 
    alert("this works great, tooltip not!");
    jQuery("select").selectbox();
} 

ページをリロードすると、ツールチップ プラグイン以外はすべて機能します。ここで、まったく同じコードを JS コンソールに実行すると、プラグインが有効になります。

jQuery("[title]").tooltip(); 

どうして?コンソールから起動すると機能するのに、機能から起動すると機能しないのはなぜですか?

乾杯!

4

2 に答える 2

3

DOM の準備ができたらコードを実行するために、コードを$(document).ready(function() { .. })簡単に試してください。$(function() { .. })

jQuery(document).ready(function() {

  function postAjaxCalls() {
    jQuery("[title]").tooltip(); 
    alert("this works great, tooltip not!");
    jQuery("select").selectbox();
  } 
  postAjaxCalls();

});

または要するに

jQuery(function() {

  function postAjaxCalls() {
    jQuery("[title]").tooltip(); 
    alert("this works great, tooltip not!");
    jQuery("select").selectbox();
  } 
  postAjaxCalls();

});
于 2012-07-18T15:58:16.440 に答える
0

postAjaxCallsDOM の準備が整う前に呼び出している可能性があります。コンソールから呼び出すと、DOM の準備ができているので動作します。

これを試して:

$(function(){
    postAjaxCalls();
});
于 2012-07-18T15:58:36.007 に答える