serii81
@serii81
Я люблю phр...

Почему не работает jquery.onload в yii2?

Прописал блок кода во view
$this->registerJs("$('.container').append('<p>Show!!!</p>')", \yii\web\View::POS_LOAD);

Вот настройки из класса AppAsset
class AppAsset extends AssetBundle
{
  public $basePath = '@webroot';
  public $baseUrl = '@web';
  public $css = [
    'css/site.css',
    //'css/style.css'
  ];
  public $js = [
    //'js/scripts.js'
  ];
  public $jsOptions = ['position' => View::POS_END];
  public $depends = [
    'yii\web\YiiAsset',
    'yii\bootstrap\BootstrapAsset',
  ];
}


Вот результат из исходного кода
<script type="text/javascript">jQuery(function ($) {
$(window).on('load', function () {
$('.container').append('<p>Show!!!</p>')
});
});</script></body>

а вот без опции POS_LOAD
<script type="text/javascript">jQuery(function ($) {
$('.container').append('<p>Show!!!</p>')
});</script></body>

Во втором случае JQuery(function) не должно было быть.
Буду благодарен за помощь.
  • Вопрос задан
  • 295 просмотров
Пригласить эксперта
Ответы на вопрос 1
kimono
@kimono
Web developer
Так из доков ведь:
public function registerJs($js, $position = self::POS_READY, $key = null)
    {
        $key = $key ?: md5($js);
        $this->js[$position][$key] = $js;
        if ($position === self::POS_READY || $position === self::POS_LOAD) {
            JqueryAsset::register($this);
        }
    }

Попробуйте POS_END
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы