событие onclick не работает в Internet Explorer - PullRequest
2 голосов
/ 02 августа 2011

Я использую asp.net для добавления добавления события onclick на стороне клиента в тег span в ListView:

<span id="mySpan" onclick="<%# Request.Cookies["myCookie"] != null ? "MyFunction1(" + Eval("MyVal1") + ");" : "MyFunction2(" + Eval("MyVal2") + ");" %>"

Каждый аспект того, что я делаю, всегда отлично работает в Chrome и FF100% времени.В IE (v8 и v9) он всегда добавляет правильную функцию javascript, и весь код выглядит идеально - визуализированный код span в IE выглядит идентично тому, как он выглядит в Chrome и FF.Однако, при мониторинге трафика с помощью Fiddler, несколько случайных промежутков IE вообще не запускают функцию javascript.Некоторые делают.В коде нет разницы между теми, которые работают, и теми, которые не работают.Те, которые не работают в IE, прекрасно работают в Chrome и FF.Я также могу подтвердить, что функция javascript не запускается с помощью других средств, кроме Fiddler, поэтому Fiddler не дает мне ложных показаний.

Есть ли что-то, что я делаю в своем коде asp, чтобы добавитьфункция, которая может облажаться в IE?

Ответы [ 2 ]

2 голосов
/ 02 августа 2011

Я предполагаю, что это проблема с функциями javascript, которые вы запускаете.Попробуйте разместить alert сообщения в различных точках исполнения Function1, чтобы выяснить, где оно ломается.Возможно, у вас есть код javascript, который не совместим с разными браузерами, но в который попадают только определенные элементы.

0 голосов
/ 02 августа 2011

Вероятно, ему не нравится этот хэш #, и он комментирует код JS.

Попробуйте поместить его в тег скрипта:

<span id="mySpan">

<script type="text/javascript">
    document.getElementById("mySpan").addEventListener("click",function(){
    <% if(Request.Cookies["myCookie"] != null)
       {
    %>
           MyFunction1(MyVal1);
    <%
       }
       else
       {
    %>
           MyFunction2(MyVal2);
    <%
       }
    %>
    }
</script>

Я прошу прощения, если мой синтаксис ASP отключен.Я не кодировал это годами, но, надеюсь, вы поймете эту идею.Любые ASP-кодеры, пожалуйста, не стесняйтесь исправить этот код для меня;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...