-1

jqueryを使用して画像を拡大縮小しています。テストHTMLで正常に機能します

しかし、それはエラーを示し、他のjsもそれを呼び出すので、ライブWebサイトに実装しようとすると、競合エラーのように見えます。以下のエラーが表示されます。

Uncaught TypeError: Object #<HTMLDocument> has no method 'ready'*1行目base.js

競合を避けるために以下のコードを試しましたが、何かが足りないように見えません

jquery.noconflict();
$(document).ready(on_ready);
function on_ready() {
$('#search').defaultVal('search here...');
$('#comment').defaultVal('your comment here...');
$('#message').defaultVal('your message here...');
.....

base.jsファイルは下記のリンクで見ることができます

http://techchef.co/devTest/test/base.js

4

4 に答える 4

2
jQuery.noConflict();
// cannot use '$' because of .noConflict()
// now the '$'-sign is free for other libraries e.b. MooTools...
// ...that's what noConflict does

// try using 'jQuery' instead of '$' here
jQuery(document).ready(function() {
    jQuery('.selector').click(function() {
        // and so on
    });
});

// or an other solution looks like this

(function($) {
    $(function() {
        // more code using $ as alias to jQuery
    });
})(jQuery)

// in your case try

jQuery(document).ready(function() {
    // the code you have in your on_ready-function
});

// or

jQuery(document).ready(function() {
    on_ready();
});
function on_ready() {
    // your on_ready-function
}

より詳しい情報

于 2013-01-14T14:16:02.870 に答える
0
var j = jQuery.noConflict();
// Do something with jQuery
j("div p").hide();
// Do something with another library's $()
$("content").style.display = 'none';

詳細については、このドキュメントを参照してください。

于 2013-01-14T14:16:26.000 に答える
0

以下のようにこれを実行しようとすると、エラーが表示され、その呼び出しを呼び出しているページで関数呼び出しが検出されません

jQuery.noConflict() 
jQuery(document).ready(function($)
{ 
function on_ready() { $('#search').defaultVal('search here...');     
$('#comment').defaultVal('your comment here...'); 
$('#message').defaultVal('your message here...'); }); 

}))

実際にはデフォルトで base.js は以下のように on_ready 関数を呼び出します

$(document).ready(on_ready); 
function on_ready() {
 $('#search').defaultVal('search here...');
 $('#comment').defaultVal('your comment here...');
 $('#message').defaultVal('your message here...'); 
于 2013-01-14T17:52:53.087 に答える