powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Не вызывается onClick в контекстном меню для ListBox'а.
2 сообщений из 2, страница 1 из 1
Не вызывается onClick в контекстном меню для ListBox'а.
    #34144062
timurka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть HTML код:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head><title>
    Untitled Page
</title></head>
<body>
    <form name="form1" method="post" action="userlist.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTc1ODE1NTA4NQ9kFgICAwsdfXFgICAw8QD2QWAh4Nb25jb250ZXh0bWVudQUac2hvd1BvcHVwKCk7IHJldHVySDfasBmYWxzZTtkZGRZZZV86JGeYF4+cTkWZFr+PzeYFo=" />
</div>

<script language="JavaScript" type="text\JavaScript">
<!--
   function WinOpen(Page)
   {
    alert('WinOpen initialized.');
    var someWindow;
    someWindow = window.open(Page);
   }

   var winPopup = window.createPopup();
   function showPopup()
   {
    var mWidth = 170;
    var mHeight = 90;
    var winPopupBody = winPopup.document.body;
    
    winPopupBody.innerHTML = winContext.innerHTML;
    winPopup.show(event.offsetX, event.offsetY, mWidth, mHeight, document.body);
    document.body.onmouseup = closePopup;
   }
   
   function closePopup()
   {
    winPopup.hide();
   }
//-->
  </script><div id=winContext style="DISPLAY: none">  
    <div id="cells">
    <div onmouseover="this.style.background='#ffffff'" style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: white 1px solid; PADDING-LEFT:
    10px; FONT-WEIGHT: bold; FONT-SIZE: 8pt; BACKGROUND: #cccccc; LEFT: 0px; PADDING-BOTTOM: 2px; BORDER-LEFT: white 1px solid; CURSOR: hand; COLOR: black;
    PADDING-TOP: 2px; BORDER-BOTTOM: black 1px solid; FONT-FAMILY: verdana; POSITION: relative; TOP: 0px; HEIGHT: 20px"
    onclick="WinOpen('login.aspx');" onmouseout="this.style.background='#cccccc'" oncontextmenu="return false;">
    Посмотреть инфо
    </div>

    <div onmouseover="this.style.background='#ffffff'" style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: white 1px solid; PADDING-LEFT:
    10px; FONT-WEIGHT: bold; FONT-SIZE: 8pt; BACKGROUND: #cccccc; LEFT: 0px; PADDING-BOTTOM: 2px; BORDER-LEFT: white 1px solid; CURSOR: hand; COLOR: black;
    PADDING-TOP: 2px; BORDER-BOTTOM: black 1px solid; FONT-FAMILY: verdana; POSITION: relative; TOP: 0px; HEIGHT: 20px"
    onclick="WinOpen('userlist.aspx')" onmouseout="this.style.background='#cccccc'" oncontextmenu="return false;">
    В игнор
    </div>
    <div onmouseover="this.style.background='#ffffff'" style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: white 1px solid; PADDING-LEFT:
    10px; FONT-WEIGHT: bold; FONT-SIZE: 8pt; BACKGROUND: #cccccc; LEFT: 0px; PADDING-BOTTOM: 2px; BORDER-LEFT: white 1px solid; CURSOR: hand; COLOR: black;
    PADDING-TOP: 2px; BORDER-BOTTOM: black 1px solid; FONT-FAMILY: verdana; POSITION: relative; TOP: 0px; HEIGHT: 20px"
    onclick="WinOpen('test.aspx');" onmouseout="this.style.background='#cccccc'" oncontextmenu="return false;">
        Начать приват
      </div>
    <div onmouseover="this.style.background='#ffffff'" style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: white 1px solid; PADDING-LEFT:
    10px; FONT-WEIGHT: bold; FONT-SIZE: 8pt; BACKGROUND: #cccccc; LEFT: 0px; PADDING-BOTTOM: 2px; BORDER-LEFT: white 1px solid; CURSOR: hand; COLOR: black;
    PADDING-TOP: 2px; BORDER-BOTTOM: black 1px solid; FONT-FAMILY: verdana; POSITION: relative; TOP: 0px; HEIGHT: 20px"
    onclick="WinOpen('msgengine.aspx');" onmouseout="this.style.background='#cccccc'" oncontextmenu="return false;">
        Отправить файл
      </div>
    </div>
 </div>
        <select size="400" name="ListBox1" id="ListBox1" oncontextmenu="showPopup(); return false;" onclick="alert('ListBox1 clicked!');" style="height:405px;width:183px;">

</select>
    </form>
</body>
</html>


Но при нажатии на пункт меню, у меня вызывается Object expected(Ожидается наличие объекта)... А если закомментировать <!--<select size="400" name="ListBox1" id="ListBox1" oncontextmenu="showPopup(); return false;" onclick="alert('ListBox1 clicked!');" style="height:405px;width:183px;">//-->
И сделать в DIV'е "DISPLAY: block", то нажатие на пункт меню прекрасно срабатывает.

В чём может быть косяк?
...
Рейтинг: 0 / 0
Не вызывается onClick в контекстном меню для ListBox'а.
    #34144269
Фотография SkyLight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так не проще?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<script language="javascript" type="text/javascript">
    function showPopup(event){
        popup.style.display='';
        popup.style.left=event.clientX;
        popup.style.top=event.clientY;
    }
    function hidePopup(){
        popup.style.display='none';
        return false;
    }
    function itemSelect(_){
        window.open(_.href);
        return hidePopup();
    }
</script>

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<body onmouseup="hidePopup()">
    <select size="30" style="width: 200px;" oncontextmenu="showPopup(event)">
    </select>
    <div id="popup" style="display: none; position: absolute;">
        <a href="login.aspx" onclick="return itemSelect(this);">Посмотреть инфо</a><br />
        <a href="userlist.aspx" onclick="return itemSelect(this);">В игнор</a><br />
        <a href="test.aspx" onclick="return itemSelect(this);">Начать приват</a><br />
        <a href="msgengine.aspx" onclick="return itemSelect(this);">Отправить файл</a>
    </div>
</body>
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Не вызывается onClick в контекстном меню для ListBox'а.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]