Вложенный сортируемый список проблемы в IE7 / 8 - PullRequest
0 голосов
/ 30 декабря 2010

У меня та же проблема, что и в этой теме

jQuery неожиданное сортируемое поведение

моя система делает то же самое.единственное различие между моим кодом и его кодом состоит в том, что мой код на 100% генерируется ajax на лету, и я вставляю таблицы в каждую из LI, но, увы, результаты одинаковы.вот HTML, который я вставляю для каждого из моих записей основного списка.

вот пустой список, который в моем HTML

<ul id=\"questionList\">

  </ul>

это генерируется вызовами javascript и ajax на лету1012 *

<li id="liName-11" class="ui-state-default">
  <table width="600" border=".5" cellspacing="2" cellpadding="2" class="singleBorder">   
    <tr>
      <td width="386" align="left" valign="top">
        <span id="quesEditText-11">Does Default Work
        </span>
        <table>
          <tr>
            <td>
              <span id="quesEditSpan-11" onclick="setEditField('ques', 11)">Edit
              </edit>
            </td>
            <td>
              <span id="quesUpdateSpan-11" onclick="updateQuestionCall('ques', 11)">Update
              </edit>
            </td>
            <td>
              <span id="deleteSpan-11" onclick="deleteQuestionAjax(11)">Delete
              </edit>
            </td>
          </tr>
        </table>
      </td>     
      <td width="200">
        <input type="text" id="answerBox11">
        <br>
        <a href="#" onclick="insertAnswer(11, 'answerBox11')">Insert Answer
        </a>
        <ul id="answerList-11">
          <li id="17">
            <span id="answEditText-17">lets try this answer
            </span>
            <table>
              <tr>
                <td>
                  <span id="answEditSpan-17" onclick="setEditField('answ', 17)">Edit
                  </edit>
                </td>
                <td>
                  <span id="answUpdateSpan-17" onclick="updateQuestionCall('answ', 17)" style="display:none;">Update
                  </edit>
                </td>
                <td>
                  <span id="deleteSpan-17" onclick="deleteAnswerAjax(17)">Delete
                  </edit>
                </td>
              </tr>
            </table>
          </li>
          <li id="13">
            <span id="answEditText-13">yet another question
            </span>
            <table>
              <tr>
                <td>
                  <span id="answEditSpan-13" onclick="setEditField('answ', 13)">Edit
                  </edit>
                </td>
                <td>
                  <span id="answUpdateSpan-13" onclick="updateQuestionCall('answ', 13)" style="display:none;">Update
                  </edit>
                </td>
                <td>
                  <span id="deleteSpan-13" onclick="deleteAnswerAjax(13)">Delete
                  </edit>
                </td>
              </tr>
            </table>
          </li>
        </ul>
      </td>   
    </tr> 
  </table>
</li>

, свернув предложение в вышеупомянутой теме, я изменил его предложение на это

$("ul.list").live("mousedown", function(e){
        e.stopPropagation();
    });

, но оно имеет нулевой эффект.отлично работает в chrome и firefox, но в IE облажается.поверьте мне, я собираюсь просто вставить скрипт, где, если они увидят сайт в IE, он перенаправит их в firefox и скажет им скачать настоящий браузер, но моему боссу не нравится эта идея.ребята, у вас есть идеи?

Ответы [ 2 ]

1 голос
/ 06 января 2011
  1. Убедитесь, что ваш html действителен: вы закрываете свои элементы <span> с помощью </edit>
  2. Ваш сценарий применяется к элементу ul с классом list, который вы не используете.определить где-нибудь в вашем HTML.
0 голосов
/ 14 января 2011

http://api.jquery.com/event.stopPropagation/

На этой странице вы заметите, что live () обрабатывает событие после того, как оно уже распространено в верхнюю часть документа, поэтому вам нужно использовать bind () вместожить ().

...