عند إنشاء صفحة ، إذا كنت ترغب في عدم القيام بأي شيء بعد النقر على رابط ، أو إكمال أشياء أخرى استجابةً للنقر ، يمكنك تعيين سمة HREF = "#" ، ولكن ستكون هناك مشكلة ، أي عندما تكون الصفحة أشرطة التمرير ، بعد النقر ، ستعود إلى الجزء العلوي من الصفحة ، التي تتمتع بتجربة مستخدم سيئة.
يوجد حاليًا العديد من الحلول:
1) لا تفعل شيئًا بعد النقر على الرابط
نسخة الكود كما يلي:
<a href = "javaScript: void (0) ؛"
<a href = "JavaScript: ؛ ؛"> اختبار </a>
<a href = "####"> اختبار </a> // استخدم 2 إلى 4#، ومعظمها "####" ، وبعضهم يستخدم "#" وغيرها
2) بعد النقر على الرابط ، قم بالرد على حدث انقر المعرفة من قبل المستخدم
نسخة الكود كما يلي:
<a href = "javaScript: void (0)" onClick = "dosomething ()"> test </a>
<a href = "#" onClick = "dosomething () ؛ إرجاع خطأ ؛"> تم حل جميع المشكلات ، بما في ذلك مشكلات عدم توافق المتصفح </a> // أو استخدم href = "" "مباشرة"
<a href = "#" onClick = "Alert () ؛ event.returnvalue = false ؛"> test </a>
يوضح:
1.JavaScript: void (0) pseudo-protocol ، وهو أقل مكتوبة. (لا أفهم ، لقد اخترت الكلمات الأصلية ، وسأحتفظ بسجل منها)
2. استخدام JavaScript: void (0) مباشرة في IE قد يتسبب في بعض المشكلات ، مثل: التسبب في أن الرسوم المتحركة GIF تتوقف عن اللعب ، وما إلى ذلك ، وبالتالي فإن الطريقة الأكثر أمانًا هي استخدام "####". لمنع حدث OnClick من القفز إلى أعلى الصفحة بعد النقر على الرابط ، يمكن إرجاع حدث OnClick False.
3. إذا كنت تريد فقط تحريك الماوس وتحويله إلى شكل يد ، يمكنك استخدامه
نسخة الكود كما يلي:
<span style = "cursor: pointer" onClick = "foo ()"> انقر فوق! </span>
Void هو مشغل JavaScript ، مما يعني: يتم تنفيذ التعبيرات فقط ، ولكن لا توجد قيمة إرجاع.
تنسيق استخدام مشغل الفراغ هو كما يلي:
نسخة الكود كما يلي:
جافا سكريبت: باطل (تعبير)
JavaScript: تعبير باطل
لأسلوب البرنامج الجيد ، يوصى باستخدام النوع الثاني مع أقواس
يمكننا استخدام مشغل الفراغ لتحديد الارتباط التشعبي ، مثل javaScript: void (document.form.submit ()). سيتم حساب التعبير ولكن لن يتم تحميل أي شيء في المستند الحالي. هو نفسه <a href = "javaScript: void (1)">.
المفتاح هو معرفة أن Void هو مشغل Javascipt نفسه ، مما يعني أنه يتم تنفيذ التعبيرات فقط ولكن لا توجد قيمة إرجاع!
بالإضافة إلى ذلك ، سيتم ضبط الصفحة تلقائيًا مرة أخرى إلى الأعلى لأن موضع الهدف الافتراضي لـ "#" هو أعلى ، لذلك يحدث هذا الموقف.