Просмотр Yiic Grid, всегда дающий живое, не является функцией

Я знаю, что live устарела. Теперь я использую Yii grid view, и у меня есть следующий код:

  $this->widget('zii.widgets.grid.CGridView', array( 'id' => 'category-grid', 'dataProvider' => $model->search(), 'filter' => $model, 'columns' => array( 'title', array( 'class' => 'CButtonColumn', 'viewButtonUrl' => 'Yii::app()->createUrl("/shop/category/view", array("id" => $data->category_id))', 'updateButtonUrl' => 'Yii::app()->createUrl("/shop/category/update", array("id" => $data->category_id))', 'deleteButtonUrl' => 'Yii::app()->createUrl("/shop/category/delete", array("id" => $data->category_id))', ), ), )); 

В браузере это дает мне ошибку:

 typeError: jQuery(...).live is not a function [Break On This Error] jQuery('#category-grid a.delete').live('click',function() { 

Я смущен, поскольку я искал всю папку для функции .live, но я не могу ее найти. Пожалуйста помоги!

Я думаю, что это из-за версии Yii. Он может использовать .live() который устарел.

Одним из возможных решений может быть переход на yii/framework/zii/widgets/grid и редактирование CButtonColumn.php

В этом замените .live() на .on()

Я думаю, тогда это должно сработать.

живая функция jquery обесценивается … если вы используете другую версию jquery, чем встроенный yii … показать документацию jQuery для метода live () … вместо этого использовать метод .on () или .delegate (). .. я не уверен … но это может быть одно решение, если вы используете другую версию jquery, чем buit in …

на этой странице Документация Jquery live () Начиная с jQuery 1.7, метод .live () устарел. Используйте .on () для присоединения обработчиков событий. Пользователи более старых версий jQuery должны использовать .delegate () в предпочтении .live ().

поэтому он не будет работать forjquery version> = 1.7

Вы можете повторно написать действие javascript по умолчанию, выполнив это

  //I a'm commenting your delete url config //'deleteButtonUrl' => 'Yii::app()->createUrl("/shop/category/delete",array("id" => $data->id))', 'buttons' => array( 'delete' => array( 'url'=>'Yii::app()->createUrl("/shop/category/delete",array("id" => $data->id))', 'click' => 'js:function(evt)' . '{' . 'evt.preventDefault();' . 'alert("Your functionality Will Come here. Or Call a function");' . '}' ), )