dojo ContentPane OnMouseOut не может работать должным образом

Код выглядит следующим образом

проблема в том, что иногда contentPane с содержимым html не может закрыться при перемещении мыши из ячейки, заполненной полем имени сетки.

var myContentPane;

            grid.on("CellMouseOver",function(evt){

                var cell=evt.cell;

                rowData=grid.getItem(evt.rowIndex);

                if(cell.field=="name"){
                    require([
                             "dojox/layout/ContentPane",
                             "dijit/popup"
                         ], function(ContentPane, popup){

                                if(myContentPane){
                                    popup.close(myContentPane);
                                }

                                myContentPane = new ContentPane({
                                    style: "width:300px;background:#dddddd",
                                    content:"html content string has some links in it",
                                    onMouseLeave:function(){
                                       popup.close(myContentPane);
                                    }
                                });

                                popup.open({
                                     popup: myContentPane,
                                     around: dom.byId(rowData.name),
                                });
                         });

              }
            });

person Clover Wu    schedule 13.08.2013    source источник


Ответы (1)


Привет, попробуй подключить OnMouseOut вот так.

Сначала настройте Contentpane:

myContentPane = new ContentPane({
                id:"myContentPane",
                style: "width:300px;background:#dddddd",
                content:"<p style='text-align:center;'>"....
                }, "MyContentPaneDiv");

Подключение onMouseOut:

      myContentPane.on("MouseOut",function(){
               //do what you want to do;
       });

Думаю, это должно помочь тебе.

С уважением

person MiBrock    schedule 13.08.2013
comment
о, спасибо. Я использовал предложенный вами метод, но проблема все еще та же. Можете ли вы дать еще одно предложение, большое спасибо! - person Clover Wu; 14.08.2013
comment
Я предполагаю, что проблема заключается в том, как вы прикрепляете свою ContentPane - можете ли вы добавить еще немного кода и описать, что вы хотите делать с всплывающим окном. Если ContentPane включен и выключен, вы можете использовать переключатель dojo. Посмотрите здесь: stackoverflow.com/questions/7274282/ - person MiBrock; 14.08.2013
comment
привет. спасибо, я обновил описание проблемы. Я думал, что переключатель не соответствует моему требованию. Я хочу, чтобы при перемещении мыши по ячейке, заполненной полем имени, отображалась панель содержимого с личной информацией и некоторыми ссылками; когда мышь перемещается ячейки, панель содержимого исчезает. проблема в том, что иногда она не может исчезнуть, особенно когда я перехожу к ячейке, а затем перехожу к другим ячейкам в той же строке сетки. и я также пытался использовать событие cellMouseOut, rowMouseOut и MouseOut в сетку удалить, но панель содержимого становится флэш-шоу или не может щелкнуть ссылки в области содержимого. - person Clover Wu; 15.08.2013