سؤال

لدي قطعة من التعليمات البرمجية التي يتم تشغيلها على نافذة تغيير الحجم.أنا سحب width, ، outerWidth من إدخال عنصر النص.

هذه العملية يعمل بشكل جيد في كل متصفح ، إلا بكت الذي يعطي النتيجة المناسبة من outerWidth, ولكن النتيجة من width لا يتغير أبدا من على تحميل الأصلي.

هذا هو الفعلية وحدة الإخراج من بلدي النصي عند تغيير حجم نافذة المتصفح (هذا هو كروم ولكن الشيء نفسه يحدث في سفاري 4):

outerWidth: 772
width: 772
outerWidth: 773
width: 772
outerWidth: 773
width: 772
outerWidth: 794
width: 772
outerWidth: 794
width: 772
outerWidth: 815
width: 772
outerWidth: 815
width: 772
outerWidth: 820
width: 772
outerWidth: 837
width: 772

وقد أي شخص من ذوي الخبرة في هذا من قبل ؟ هل تعرف لماذا يحدث ذلك ؟ والأهم من ذلك, هل تعرف كيف تعمل ؟ :)

شكرا لك.

هل كانت مفيدة؟

المحلول

هنا هو بلدي حالة اختبار.ويبدو ان كل من يعمل كما هو متوقع (سفاري 4).

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
  <style type="text/css">
    input {
      width: 50%;
      height: 2em;
      font-size: 1em;
    }
  </style>
</head>
<body>
  <p>
    <input type="text" id="w" />
  </p>
  <p>
    <input type="text" id="ow" />
  </p>
  <script type="text/javascript">
    function init(){
      $('#w').val($('#w').width());
      $('#ow').val($('#ow').outerWidth());
    }
    $(function(){
      init();

      $(window).resize(function(){
        init();
      });
    });
  </script>
</body>
</html>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top