উত্তর:
data-toggle="tab"
সরাসরি / প্রতিনিধি ইভেন্টগুলি ব্যবহার করে আপনি ট্যাবটি থেকে বৈশিষ্ট্যটি সরিয়ে ফেলতে পারেন
class="disabled"
প্রত্যাশা অনুযায়ী কাজ করি.nav.nav-tabs > li.disabled { pointer-events: none; a { color: silver; } }
২.১ হিসাবে, বুটস্ট্র্যাপ ডকুমেন্টেশন থেকে http://twitter.github.com/bootstrap/components.html#navs এ আপনি করতে পারেন।
অক্ষম রাষ্ট্র
যেকোন নাভির উপাদানগুলির জন্য (ট্যাব, পিলস বা তালিকা), ধূসর লিঙ্কগুলির জন্য .d অক্ষম করুন এবং কোনও হোভার ইফেক্ট নেই। লিঙ্কগুলি ক্লিকযোগ্য হবে, তবে আপনি যদি href বৈশিষ্ট্যটি সরিয়ে না দেন। বিকল্পভাবে, আপনি এই ক্লিকগুলি প্রতিরোধ করতে কাস্টম জাভাস্ক্রিপ্ট প্রয়োগ করতে পারেন।
বৈশিষ্ট্য যুক্ত করার জন্য আলোচনার জন্য https://github.com/twitter/bootstrap/issues/2764 দেখুন ।
অক্ষম লিঙ্কগুলিতে ক্লিকগুলি প্রতিরোধ করতে আমি নিম্নলিখিত জাভাস্ক্রিপ্ট যুক্ত করেছি:
$(".nav-tabs a[data-toggle=tab]").on("click", function(e) {
if ($(this).hasClass("disabled")) {
e.preventDefault();
return false;
}
});
disabled
শ্রেণী li
উপাদান এবং তারপর জাভাস্ক্রিপ্ট আপনি শর্ত আপনি হবে বিরুদ্ধে চেক করা চাই ব্যতীত নিদিষ্ট যোগ করুন: if ($(this).parent().hasClass('disabled')) {..}
।
li
এটিই ব্যবহারকারীর ভিজ্যুয়াল পরিবর্তন করে এবং ফলস্বরূপ disabled
ক্লাসটি কী হওয়া উচিত ।
আমি মনে করি সেরা সমাধানটি সিএসএস দিয়ে অক্ষম করা। আপনি একটি নতুন শ্রেণী নির্ধারণ করেছেন এবং আপনি এটিতে মাউস ইভেন্টগুলি বন্ধ করেছেন:
.disabledTab{
pointer-events: none;
}
এবং তারপরে আপনি এই ক্লাসটি পছন্দসই লি উপাদানটিতে অর্পণ করুন:
<li class="disabled disabledTab"><a href="#"> .... </a></li>
আপনি jQuery এর সাথে ক্লাস যুক্ত / মুছে ফেলতে পারেন। উদাহরণস্বরূপ, সমস্ত ট্যাব অক্ষম করতে:
$("ul.nav li").removeClass('active').addClass('disabledTab');
এখানে একটি উদাহরণ: jsFizz
.nav-tabs li.disabled a {
pointer-events: none;
}
পুরানো প্রশ্ন তবে এটি আমাকে সঠিক দিকে নির্দেশ করেছে। আমি যে পদ্ধতির জন্য গিয়েছিলাম তা হ'ল লি অক্ষম অক্ষম শ্রেণিকে যুক্ত করা এবং তারপরে আমার জাভাস্ক্রিপ্ট ফাইলে নিম্নলিখিত কোডটি যুক্ত করা।
$('.nav-tabs li.disabled > a[data-toggle=tab]').on('click', function(e) {
e.stopImmediatePropagation();
});
এটি কোনও লিঙ্ক অক্ষম করবে যেখানে লি অক্ষম শ্রেণীর রয়েছে। টোটাসের উত্তরের মতো ধরণের তবে এটি যদি চলবে না যে প্রতিবার কোনও ব্যবহারকারী কোনও ট্যাব লিঙ্ক ক্লিক করে এবং এটি প্রত্যাবর্তন মিথ্যা ব্যবহার করে না।
আশা করি এটি কারও কাজে লাগবে!
আমার ব্যবহারের জন্য, সেরা সমাধানটি এখানে কয়েকটি উত্তরগুলির মিশ্রণ ছিল, যা হ'ল:
disabled
লি আমি অক্ষম করতে চান বর্গএই জেএস টুকরা যোগ করুন:
`$(".nav .disabled>a").on("click", function(e) {
e.preventDefault();
return false;
});`
আপনি যদি বুটস্ট্র্যাপ আপনার কোডের সাথে হস্তক্ষেপ না করতে চান তবে আপনি ডেটা-টগল = "ট্যাব" বৈশিষ্ট্যটিও সরাতে পারেন।
**** দ্রষ্টব্য **: ** এখানে জেএস কোডটি গুরুত্বপূর্ণ, আপনি ডেটা-টগল অপসারণ করলেও অন্যথায়, এটি আপনার URL টি এতে #your-id
মান যুক্ত করে আপডেট করবে, যা প্রস্তাবিত নয় কারণ আপনার ট্যাব অক্ষম করা হয়েছে, এইভাবে অ্যাক্সেস করা উচিত নয়।
সঙ্গে শুধুমাত্র CSS , দুই CSS শ্রেণী বর্ণনা করতে পারেন।
<style type="text/css">
/* Over the pointer-events:none, set the cursor to not-allowed.
On this way you will have a more user friendly cursor. */
.disabledTab {
cursor: not-allowed;
}
/* Clicks are not permitted and change the opacity. */
li.disabledTab > a[data-toggle="tab"] {
pointer-events: none;
filter: alpha(opacity=65);
-webkit-box-shadow: none;
box-shadow: none;
opacity: .65;
}
</style>
এটি একটি এইচটিএমএল টেমপ্লেট। কেবলমাত্র প্রয়োজনীয় জিনিসটি হল আপনার পছন্দের তালিকা আইটেমটিতে ক্লাস সেট করা।
<ul class="nav nav-tabs tab-header">
<li>
<a href="#tab-info" data-toggle="tab">Info</a>
</li>
<li class="disabledTab">
<a href="#tab-date" data-toggle="tab">Date</a>
</li>
<li>
<a href="#tab-photo" data-toggle="tab">Photo</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab-info">Info</div>
<div class="tab-pane active" id="tab-date">Date</div>
<div class="tab-pane active" id="tab-photo">Photo</div>
</div>
মনে করুন, এটি আপনার ট্যাব এবং আপনি এটি অক্ষম করতে চান
<li class="" id="groups"><a data-toggle="tab" class="navuserli" href="#groups" aria-expanded="false">Groups</a></li>
সুতরাং আপনি গতিশীল CSS যুক্ত করে এই ট্যাবটি অক্ষম করতে পারেন
$('#groups').css('pointer-events', 'none')
জেমসের উত্তর ছাড়াও:
আপনার যদি প্রয়োজন হয় লিংক ব্যবহার অক্ষম করতে
$('a[data-toggle="tab"]').addClass('disabled');
আপনার যদি কোনও অক্ষম লিঙ্কটি ট্যাব লোড করা থেকে রোধ করতে হয়
$('a[data-toggle="tab"]').click(function(e){
if($this.hasClass("disabled")){
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
return false;
}
}
আপনার যদি লিঙ্কটি অক্ষম করতে হয়
$('a[data-toggle="tab"]').removeClass('disabled');
আমি সমস্ত প্রস্তাবিত উত্তর চেষ্টা করেছিলাম, তবে শেষ পর্যন্ত আমি এটিকে এটির মতো করে দিয়েছি
if (false) //your condition
{
$("a[data-toggle='tab'").prop('disabled', true);
$("a[data-toggle='tab'").each(function () {
$(this).prop('data-href', $(this).attr('href')); // hold you original href
$(this).attr('href', '#'); // clear href
});
$("a[data-toggle='tab'").addClass('disabled-link');
}
else
{
$("a[data-toggle='tab'").prop('disabled', false);
$("a[data-toggle='tab'").each(function () {
$(this).attr('href', $(this).prop('data-href')); // restore original href
});
$("a[data-toggle='tab'").removeClass('disabled-link');
}
// if you want to show extra messages that the tab is disabled for a reason
$("a[data-toggle='tab'").click(function(){
alert('Tab is disabled for a reason');
});
উত্তরগুলির কোনওটিই আমার পক্ষে কাজ করে না। সরান data-toggle="tab"
থেকে a
সক্রিয় করা থেকে আটকায় ট্যাব, কিন্তু এটি যোগ করা#tabId
URL- এ হ্যাশ। এটি আমার কাছে অগ্রহণযোগ্য। যা অগ্রহণযোগ্য তা হ'ল জাভাস্ক্রিপ্ট ব্যবহার করা।
কাজটি কী করে তা disabled
ক্লাসে যুক্ত হয় li
এবং এতে থাকা href
বৈশিষ্ট্যগুলি মুছে ফেলা হয় a
।
আমার ট্যাবগুলি প্যানেলে ছিল, তাই আমি ট্যাবগুলির অ্যাঙ্কারে একটি শ্রেণি = 'অক্ষম' যুক্ত করেছি
জাভাস্ক্রিপ্টে আমি যুক্ত করেছি:
$(selector + ' a[data-toggle="tab"]').on('show.bs.tab', function (e) {
if ($(this).hasClass('disabled')){
e.preventDefault();
return false;
}
})
এবং উপস্থাপনার জন্য কম আমি যুক্ত করেছি:
.panel-heading{
display:table;
width:100%;
padding-bottom:10px;
ul.nav-tabs{
display:table-cell;
vertical-align:bottom;
a.disabled{
.text-muted;
cursor:default;
&:hover{
background-color:transparent;
border:none;
}
}
}
}
এটি এড়ানোর জন্য সর্বাধিক সহজ এবং পরিষ্কার সমাধান ট্যাগ যুক্ত onclick="return false;"
করা হচ্ছে a
।
<ul class="nav nav-tabs">
<li class="active">
<a href="#home" onclick="return false;">Home</a>
</li>
<li>
<a href="#ApprovalDetails" onclick="return false;">Approval Details</a>
</li>
</ul>
"cursor:no-drop;"
মাত্র কার্সার বর্ণন অক্ষম করে তোলে, কিন্তু যোগ্য , URL প্রাক্তন জন্য সূরা লক্ষ্য সঙ্গে সংযোজন পরারpage.apsx#Home
"disabled"
ক্লাস যুক্ত করার <li>
এবং অপসারণ করার দরকার নেইhref
disabled
নীচের মতো ন্যাভ-আইটেমের সন্তানের ক্লাস যুক্ত করে আপনি বুটস্ট্র্যাপ 4 এ একটি ট্যাব অক্ষম করতে পারেন
<li class="nav-item">
<a class="nav-link disabled" data-toggle="tab" href="#messages7" role="tab" aria-expanded="false">
<i class="icofont icofont-ui-message"></i>Home</a>
<div class="slide"></div>
</li>
আমার চেষ্টা এখানে। একটি ট্যাব অক্ষম করতে:
কোড:
var toggleTabs = function(state) {
disabledTabs = ['#tab2', '#tab3'];
$.each(disabledTabs, $.proxy(function(idx, tabSelector) {
tab = $(tabSelector);
if (tab.length) {
if (state) {
// Enable tab click.
$(tab).toggleClass('disabled', false);
$('a', tab).attr('data-toggle', 'tab').off('click');
} else {
// Disable tab click.
$(tab).toggleClass('disabled', true);
$('a', tab).removeAttr('data-toggle').on('click', function(e){
e.preventDefault();
});
}
}
}, this));
};
toggleTabs.call(myTabContainer, true);