আমি jQuery ব্যবহার করি, আমার কিছু অ্যাঙ্কর ট্যাগ কোনও ক্রিয়া সম্পাদন করা প্রয়োজন।
আমি সাধারণত এটি লিখি:
<a href="#">link</a>
তবে এটি পৃষ্ঠার শীর্ষকে বোঝায়!
hrefএটিতে বৈশিষ্ট্যটি ব্যবহার করবেন না ।
আমি jQuery ব্যবহার করি, আমার কিছু অ্যাঙ্কর ট্যাগ কোনও ক্রিয়া সম্পাদন করা প্রয়োজন।
আমি সাধারণত এটি লিখি:
<a href="#">link</a>
তবে এটি পৃষ্ঠার শীর্ষকে বোঝায়!
hrefএটিতে বৈশিষ্ট্যটি ব্যবহার করবেন না ।
উত্তর:
আপনি যদি এটির কোনও দিকে ইঙ্গিত করতে না চান তবে আপনার সম্ভবত <a>অ্যাঙ্কর ট্যাগটি ব্যবহার করা উচিত নয় ।
আপনি যদি কোনও লিঙ্কের মতো দেখতে কিছু দেখতে চান তবে কোনও লিঙ্কের মতো কাজ না করেন তবে উপযুক্ত উপাদানটি (যেমন <span>) ব্যবহার করে সিএসএস ব্যবহার করে স্টাইল করা ভাল:
<span class="fake-link" id="fake-link-1">Am I a link?</span>
.fake-link {
color: blue;
text-decoration: underline;
cursor: pointer;
}
এছাড়াও, আপনি এই প্রশ্নটিকে "jQuery" ট্যাগ করেছেন, আমি ধরে নিচ্ছি যে আপনি একটি ইভেন্ট ইভেন্ট হ্যান্ডার সংযুক্ত করতে চান। যদি তা হয় তবে উপরের মত একই জিনিসটি করুন এবং তারপরে নিম্নলিখিত জাভাস্ক্রিপ্টের মতো কিছু ব্যবহার করুন:
$('#fake-link-1').click(function() {
/* put your code here */
});
নিখুঁত সমাধানের চেয়ে কয়েকটি কম রয়েছে:
1. একটি জাল নোঙ্গর লিঙ্ক
<a href="#">
সমস্যা: লিঙ্কটি ক্লিক করা পৃষ্ঠার শীর্ষে ফিরে আসে
২. 'এ' ব্যতীত অন্য কোনও ট্যাগ ব্যবহার করা
একটি স্প্যান ট্যাগ ব্যবহার করুন এবং ক্লিকটি পরিচালনা করতে jquery ব্যবহার করুন
সমস্যা: কীবোর্ড নেভিগেশন বিরতি দেয়, ম্যানুয়ালি হোভার কার্সারটি পরিবর্তন করতে হবে
3. একটি জাভাস্ক্রিপ্ট শূন্য ফাংশন লিঙ্ক
<a href="javascript:void(0);">
<a href="javascript:;">
সমস্যা: আইই মধ্যে চিত্রগুলি লিঙ্ক করার সময় বিরতি
সমাধান
যেহেতু এই সকলেরই তাদের সমস্যা রয়েছে তাই আমি যে সমাধানটি স্থির করেছি তা হ'ল নকল অ্যাঙ্কারের সাথে লিঙ্ক করা এবং তারপরে অনক্লিক পদ্ধতি থেকে মিথ্যা ফিরিয়ে দেওয়া:
<a href="#" onClick="return false;">
সমাধানগুলির সর্বাধিক সংক্ষিপ্ত নয়, তবে এটি উপরের পদ্ধতিগুলি দিয়ে সমস্ত সমস্যার সমাধান করে।
breaks when linking images in IEএটার মানে কি?
<a href="javascript:;">
href="javascript:"হচ্ছে এটিও যথেষ্ট এবং সর্বশেষতম বড় ব্রাউজারগুলিতে কাজ করে। সেমিকোলনের দরকার নেই, প্রকৃতপক্ষে পিএইচপিস্টোরম এটিকে সরিয়ে দেওয়ার পরামর্শ দেয়।
এটিকে কিছুতেই না করার জন্য এটি ব্যবহার করুন:
<a href="javascript:void(0)"> ... </a>
<a href="javascript:;">। পিএস target=_blankযদিও এর সাথে কাজ করে না
এটি হ্যান্ডেল করার সঠিক উপায়টি আপনি লিঙ্কটি হ্যান্ডেল করার সময় jQuery এর সাথে লিঙ্কটি "ব্রেক" করা
এইচটিএমএল
<a href="#" id="theLink">My Link</a>
জাতীয়
$('#theLink').click(function(ev){
// do whatever you want here
ev.preventDefault();
ev.stopPropagation();
});
এই চূড়ান্ত দুটি কল ব্রাউজারটিকে ক্লিকটির ব্যাখ্যা দিয়ে থামায়।
এটি করার মতো অনেকগুলি উপায় রয়েছে
যোগ এবং hrefগুণাবলী না
<a name="here"> Test <a>
আপনি href এর পরিবর্তে অন্লিক ইভেন্ট যুক্ত করতে পারেন
<a name="here" onclick="YourFunction()"> Test <a>
অথবা আপনি এই মত শূন্য ফাংশন যোগ করতে পারেন যা সেরা উপায় হবে
<a href="javascript:void(0);">
<a href="javascript:;">
hrefএন্ট্রিবিউটটি সরিয়ে ফেলেন কারণ এটি হাইপারলিংকের মতো আচরণ করবে না (যদিও অনক্লিক এখনও কাজ করে) আপনার পছন্দসই উপাদান cursor: pointer;এবং :hoverনির্বাচককে পুনরায় সেট করতে হবে ।
আপনি কিছুই বলতে চাইছেন না?
<a href='about:blank'>blank page</a>
অথবা
<a href='whatever' onclick='return false;'>won't navigate</a>
আমি মনে করি আপনি চেষ্টা করতে পারেন
<a href="JavaScript:void(0)">link</a>
আমি কেবল এখানে দেখতে পাই উচ্চ স্তরের ব্রাউজার সুরক্ষা জাভাস্ক্রিপ্ট কার্যকর করতে অনুরোধ জানাতে পারে।
যদিও এটি এর চেয়ে সহজ উপায়
<a href="#" onclick="return false;">Link</a>
এই অল্প ব্যবহার করা উচিত
কিছু নিদর্শনের জন্য এই নিবন্ধটি পড়ুন https://web.archive.org/web/20090301044015/http://blog.reindel.com/2006/08/11/a-hrefjavascriptvoid0-avoid-the-void
নতুন ওয়েব মান (HTML5) প্রতিবিম্বিত করতে এই উত্তরটি আপডেট করা উচিত।
এই:
<a tabindex="0">This represents a placeholder hyperlink</a>
... বৈধ এইচটিএমএল 5। ট্যাবিনডেক্স অ্যাট্রিবিউট এটিকে সাধারণ হাইপারলিঙ্কগুলির মতো কীবোর্ডকে ফোকাসযোগ্য করে তোলে। আপনি spanপূর্বে উল্লিখিত হিসাবে এটির জন্য উপাদানটিও ব্যবহার করতে পারেন তবে আমি aউপাদানটি আরও মার্জিত বলে মনে করি।
দেখুন: https://w3c.github.io/html-references/a.html
এবং: https://html.spec.whatwg.org/m মাল্টিপেজ / লিঙ্কস html#attr-hyperlink-href
clickব্যবহারকারী যখন উপাদান এবং প্রেসগুলি প্রবেশের দিকে ফোকাস করে (ফায়ারফক্স ৫১ এ পরীক্ষা করা হয়) তখন এটি ইভেন্টটিকে ট্রিগারও করে না ।
keydownইভেন্টটি ব্যবহার করুন ।
<a>ট্যাগের hrefট্যাগ সম্পত্তির জন্য এখানে তিনটি উপায় যা কিছুই উল্লেখ করে না:
<a href="JavaScript:void(0)"> link </a>
<a href="javascript:;">link</a >
<a href="#" onclick="return false;"> Link </a>
আমি জানি এটি একটি পুরানো প্রশ্ন, তবে আমি ভেবেছিলাম আমি যেভাবেই আমার দুটি সেন্ট যুক্ত করব:
এটি লিঙ্কটি কী করতে চলেছে তার উপর নির্ভর করে, তবে সাধারণত, আমি লিঙ্কটি একটি ইউআরএলটিতে নির্দেশ করব যা সম্ভবত একই জিনিস প্রদর্শিত / করানো হতে পারে, উদাহরণস্বরূপ, যদি আপনি বক্স পপ আপ সম্পর্কে কিছুটা তৈরি করছেন:
<a id="about" href="/about">About</a>
তারপরে jQuery সহ
$('#about').click(function(e) {
$('#aboutbox').show();
e.preventDefault();
});
এইভাবে, খুব পুরানো ব্রাউজারগুলি (বা জাভাস্ক্রিপ্ট অক্ষম ব্রাউজারগুলি) এখনও পৃষ্ঠা সম্পর্কে একটি পৃথক নেভিগেট করতে পারে, তবে আরও গুরুত্বপূর্ণ, গুগল এটিও বেছে নেবে এবং প্রায় পৃষ্ঠার সামগ্রীগুলি ক্রল করবে।
আপনার যে সমস্ত লিঙ্কগুলি বন্ধ করতে চান তার অবশ্যই href="#!"(বা আপনার যে কোনও কিছু সত্যই আছে) রয়েছে তা নিশ্চিত করুন এবং তারপরে এটি ব্যবহার করুন:
jq('body').on('click.stop_link', 'a[href="#!"]',
function(event) {
event.preventDefault();
});
আপনার কোনও গুনবিহীন এইচটিএমএল অ্যাঙ্কর ( aট্যাগ) থাকতে পারে href। hrefবৈশিষ্ট্যটি ছেড়ে দিন এবং এটি কোনও কিছুর সাথে লিঙ্ক করবে না:
<a>link</a>
আমার পক্ষে কাজ করা একমাত্র জিনিসটি ছিল উপরের সংমিশ্রণ:
প্রথমে উল মধ্যে লি
<li><a onclick="LoadTab2_1()" href="JavaScript:void(0)">All Assigned</a></li>
তারপরে লোডট্যাব 2_1 এ আমি ম্যানুয়ালি ট্যাব ডিভাইসগুলি স্যুইচ করেছি
$("#tabs-2-1").hide();
$("#tabs-2-2").show();
এর কারণ এটির সংযোগ বিচ্ছিন্নকরণ ট্যাবগুলিতে ক্রিয়া সংযোগ বিচ্ছিন্ন করে
প্রাথমিক ট্যাব জিনিস পরিবর্তন করলে আপনাকে ম্যানুয়ালি ট্যাব স্টাইলিংও করতে হবে
$("#secTab1").addClass("ui-tabs-active").addClass("ui-state-active").addClass("ui-state-hover").addClass("ui-state-focus");
$("#secTab1 a").css("color", "#ffffff");
আপনি এটি দ্বারা করতে পারেন
<a style='cursor:pointer' >Link</a>
<a href="#" onclick="SomeFunction()" class="SomeClass">sth.</a>
এটি আমার অ্যাঙ্কর ট্যাগ ছিল। সুতরাং অন ক্লিকের উপর মিথ্যা ফিরিয়ে দিন = "" ইভেন্টটি এখানে ব্যবহারযোগ্য নয়। আমি স্রেফ href = "#" সম্পত্তি অপসারণ করেছি এবং এটি নীচের মতো আমার জন্য কাজ করেছে
<a onclick="SomeFunction()" class="SomeClass">sth.</a>
এবং আমি এই সিএসএস যুক্ত করা প্রয়োজন।
.SomeClass
{
cursor: pointer;
}
আমি একটি ওয়ার্ডপ্রেস সাইটে এই সমস্যাটির মুখোমুখি হয়েছি। ড্রপডাউন মেনুতে শিরোনামগুলির মধ্যে সর্বদা বৈশিষ্ট্য থাকে href=""এবং শিরোনাম প্লাগইন ব্যবহার করা হয় কেবলমাত্র স্ট্যান্ডার্ড ইউআরএলকে। পাদলেখটিতে এই কোডটি চালানো ছিল সবচেয়ে সহজ সমাধান:
jQuery('[href=""]').click(function(e){
e.preventDefault();
});
এটি ফাঁকা অ্যাঙ্কারগুলিকে কিছু করতে বাধা দেবে।
আমি জানি এটি একটি jQuery প্রশ্ন হিসাবে ট্যাগ করা হয়, তবে আপনি এর উত্তর AngularJS দিয়েও দিতে পারেন।
আপনার উপাদানটিতে, এনজি-ক্লিক নির্দেশিকা যুক্ত করুন এবং $ ইভেন্টের ভেরিয়েবলটি ক্লিক করুন যা ক্লিক ইভেন্ট ... এর ডিফল্ট আচরণ রোধ করুন:
<a href="#" ng-click="$event.preventDefault()">
আপনি এমনকি function ইভেন্ট পরিবর্তনশীল একটি ফাংশনে পাস করতে পারেন:
<a href="#" ng-click="doSomething($event)">
এই ফাংশনে, আপনি ক্লিক ইভেন্টের সাথে যা খুশি তা করতে পারেন।