Использование jQuery noConflict с инструментами flowplayer - PullRequest
1 голос
/ 28 января 2010

Я, похоже, нахожусь в процессе устранения неполадок пространства имен конфликт функции $ (). Я использую валидировать 1.4. я пытался использовать метод jConulic noConflict (), но я все еще что-то упускаю.

<link href="/c/jq/ui.all.css" rel="stylesheet" type="text/css" />
<script src="http://cdn.jquerytools.org/1.1.2/full/
jquery.tools.min.js" type="text/javascript"></script>
<script src="/js/jquery.ui.core.js" type="text/javascript"></script>
<script src="/js/jquery.ui.tabs.js" type="text/javascript"></script>
<script src="/js/jquery.ui.accordion.js" type="text/javascript"></
script>
<script type="text/javascript">
    /* <![CDATA[ */
        var $j = jQuery.noConflict();
    /* ]]> */
</script>
<script src="/js/cilp.js" type="text/javascript"></script>
<script src="/js/jquery.validate.js" type="text/javascript"></script>
<script src="/js/cilp/validate.js" type="text/javascript"></script>

if i comment out the last two external references (the validate files)
all is well.  here is the validate.js file:

$j(function($) {
    $j.extend( $.validator.messages, {
        required: 'Required'
    } );

    $j( '#qotw-form' ).validate( {
        rules: {
            'qotw-options': 'required'
        },

        submitHandler: function() {
            var answer = $j( "input[name='qotw-options']:checked" ).val();
            var correct = answer == 'c' ? true : false;
            var res = correct ? 'Correct!' : 'Try again!';
            $j( '#qotw-answer' ).html(res);
        },

        focusCleanup: true

        //, debug: true
    } );

} );

надеюсь, я делаю что-то глупое. я просто хотел бы знать легкий путь пространство имен данного плагина, чтобы избежать этой проблемы. спасибо за любой Помогите!

Ответы [ 2 ]

2 голосов
/ 23 июля 2010

Вы не передаете значение от $ до $j(function($) {

Вам необходимо иметь что-то вроде:

$j(function($,$j) {
    $j.extend( $.validator.messages, {
        required: 'Required'
    } );
[...]

} )($,$j);

В противном случае $, который вы передадите, будетвсегда быть неопределенным.Предполагая, что вы передаете потоковому проигрывателю $, в противном случае передайте $j и измените внутреннюю переменную на $j

0 голосов
/ 23 июля 2010

Я не так много сделал с noConflict, но не должен ли это:

$j.extend( $.validator.messages, {

быть

$j.extend( $j.validator.messages, {
...