off ක්රමය
off ක්රමය අංගයක සිට සිදුවීම් හැසිරවීමක්
අග්රස්ථ කිරීමට ඉඩ සලසයි. හැසිරවීමක් අත්තික්කර ගැනීම සඳහා
ඔබට off
ක්රමය භාවිතා කළ හැකිය.
වාක්ය රචනය
මේ ආකාරයෙන් අපි අංගයක සිට සිදුවීම් හැසිරවීමක් ඉවත් කරමු,
පළමු පරාමිතිය ලෙස නූලක ආකාරයෙන්
එක් හෝ කිහිපයක් සිදුවීම් හිස්තැන් වලින් වෙන් කර
ඇතුළත් කරනු ලැබේ, දෙවන පරාමිතිය ලෙස - අපි අමතර
පෙරහනක් ලෙස ක්රියා කරන සංයෝජකයක් ඇතුළත් කරමු
(එය අපි on ක්රමයට ඇතුළත් කළ එකම දෙයට
ගැලපිය යුතුය). සියලුම ප්රතිනියෝජිත සිදුවීම් ඉවත් කිරීමට,
'**' අගය ඇතුළත් කරන්න. දෙවන පරාමිතිය
අනිවාර්ය නොවේ. තෙවන පරාමිතිය ලෙස අපි හැසිරවීම් ක්රියාකාරීත්වය
ඇතුළත් කරමු (අපි අත්තික්කරගත් එම ක්රියාකාරීත්වය), එයට සිදුවීම් වස්තුව
පාරාමිතියක් ලෙස ලැබේ හෝ අපි false ඇතුළත් කරමු:
$(selector).off(events, [selector], handlerFunction(eventObject));
ඔබට off ක්රමය වෙනත් ආකාරයකින් භාවිතා කළ හැකිය,
එවිට පළමු පරාමිතිය ලෙස
JavaScript වස්තුවක් ඇතුළත් කරනු ලැබේ, එහි යතුරු - සිදුවීම් වර්ගය, සහ
අගයන් - අංගයට අපි එකතු කළ හැසිරවීම් ක්රියාකාරීත්වයන් වේ:
$(selector).off({'event type': handler}, [selector]);
අපට සරලව එක් පරාමිතියක් jQuery.Event
වස්තුවක ආකාරයෙන් ඇතුළත් කළ හැකිය:
$(selector).off(event);
ක්රමයට පරාමිතීන් ඇතුළත් නොකරන්නේ නම්, එවිට අපි අංගයෙන් සියලුම අත්තික්කරගත් හැසිරවීම් අග්රස්ථ කරමු:
$(selector).off();
උදාහරණය
අපි ඡේද වලට testFunc හැසිරවීම් ක්රියාකාරීත්වය
එකතු කරමු. නමුත් දෙවන ඡේදයේ හැසිරවීම් ක්රියාකාරීත්වය වහාම ඉවත් කරමු,
මේ ආකාරයෙන් දෙවන ඡේදය මත ක්ලික් කිරීමෙන් කිසිදු
ප්රතිඵලයක් ඇති නොවේ (අපි අවසාන
කේත පේළිය අදහස් ලකුණු කළහොත්, සිදුවීම ක්රියාත්මක වන ආකාරය දකිමු සහ
දෙවන ඡේදය මත ක්ලික් කිරීම මත):
<p id="test1">click1</p>
<p id="test2">click2</p>
function testFunc(event) {
alert(event.data.text);
}
$('#test1').on('click', {text: 'aaa'}, testFunc); // add handler
$('#test2').on('click', {text: 'bbb'}, testFunc); // add handler
$('#test2').off('click', testFunc); // remove handler