PDA

View Full Version : غیرفعال کردن href در موراد خاص



alasht
پنج شنبه 19 اسفند 1389, 01:07 صبح
با سلام خدمت دوستان
من در بعضی کدهام برای تگ a یه دستور jquery مینویسم و تگ a رو هم به عنوان مثال اینطوری مینویسم

<a href="#test" id="test">test</a>
خوب قسمت href رو اگر ببینید لینکم به این صورت #test نوشته شده
که وقتی رو لینک کلیک میکنم در ادرس بار مرورگر این قسمت نوشته میشه به این صورت

http://mysite.com/#test
چیکار کنم که این قسمت عمل نکنه و در ادرس بار چاپ نشه
ممنون میشم راهنمایی بفرمایید

mehdi.mousavi
پنج شنبه 19 اسفند 1389, 09:32 صبح
سلام.
انتهای Click Handler ای که نوشته اید، return false کنید تا Default Behavior لینک از کار بیفته.

موفق باشید.

Javad.Kashi
پنج شنبه 19 اسفند 1389, 14:46 عصر
سلام
آقا زیر سیکل صحبت کنید ما هم بفهمیم :لبخند:.
منظور شما از Click Handler آیا خود Hyper link بود؟
این Default Behavior یعنی چه؟
return false را کجا بنویسم داخل خاصیت href یا جای دیگه ؟ تا آنجا که یادم هست تو js باید بنویسم.که اینطور می شه:


onclick="return false"

ممنون

mehdi.mousavi
پنج شنبه 19 اسفند 1389, 17:44 عصر
سلام آقا زیر سیکل صحبت کنید ما هم بفهمیم :لبخند:. منظور شما از Click Handler آیا خود Hyper link بود؟ این Default Behavior یعنی چه؟ return false را کجا بنویسم داخل خاصیت href یا جای دیگه ؟ تا آنجا که یادم هست تو js باید بنویسم. ممنون

سلام.
منظورم این بود:

$('a').click(function () {
return false;
});

در مورد بخش اول سوالتون نیز به این لینک (http://barnamenevis.org/showthread.php?277697-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1%DB%8C-%DA%A9%D9%87-%D8%A8%D8%B9%D8%AF-%D8%A7%D8%B2-5-%D8%AB%D8%A7%D9%86%DB%8C%D9%87-%D8%A7%D8%AC%D8%B1%D8%A7-%D8%B4%D9%88%D8%AF&p=1226435&viewfull=1#post1226435) رجوع کنید. (بطور خلاصه، default behavior یعنی "رفتار پیش فرض". برای Hyperlink ها، رفتار پیش فرض وقتی روشون Click می کنید چیه؟ دنبال کردن لینک و تغییر صفحه به اون URL...)

موفق باشید.

alasht
پنج شنبه 19 اسفند 1389, 17:45 عصر
سلام
آقا زیر سیکل صحبت کنید ما هم بفهمیم :لبخند:.
منظور شما از Click Handler آیا خود Hyper link بود؟
این Default Behavior یعنی چه؟
return false را کجا بنویسم داخل خاصیت href یا جای دیگه ؟ تا آنجا که یادم هست تو js باید بنویسم.که اینطور می شه:


onclick="return false"

ممنون


اول تشکر از اقای موسوی
بعد دوست عزیز شما باید به این صورت بنویسید



<html>
<head>
<script src="jquery-1.4.2.min.js"></script>
</head>
<body>
<a href="#test" id="test">test</a>
<br/><br/>
<div style="background-color:red;width:100px;height:100px" id="toggle"></div>
<script>
$(document).ready(function() {
$("#test").click(function () {
$("#toggle").toggle(2000);
return false;
});
});
</script>
</body>
</html>

eleboys
جمعه 20 اسفند 1389, 03:31 صبح
تکرار اتفاقی در ارسال؛ لطفا حذف شود.

eleboys
جمعه 20 اسفند 1389, 03:33 صبح
دوست عزیز باید پرسید آیا شما مجبورید href="#test" را بگذارید؟
من فکر می کنم شما فقط برای اینکه مقداری توی خاصیت href تگ A تون نوشته باشید تا لینک غیر فعال نشه مقدار "#test" رو گزاشتید که در این صورت مشکل شما با راه حل ساده زیر حل میشه:
<a href="javascript://" id="test">test</a>

در غیر اینصورت اگر مجبورید مقدار href="#test" باشه راه حلی که کاربر @mehdi.mousavi ذکر کردن چاره کار شماست.

mehdi.mousavi
شنبه 21 اسفند 1389, 09:55 صبح
در این صورت مشکل شما با راه حل ساده زیر حل میشه:
<a href="javascript://" id="test">test</a>


سلام.
اگر قرار به نوشتن href باشه (چیزی غیر از #)، بهتره که از کد زیر استفاده بشه:


<a href="javascript:void(0);" id="test">test</a>

موفق باشید.