আমি এই প্রশ্নের সমস্ত উত্তর পড়েছি এবং এর সমাধানগুলির কোনওটিই কার্যকর বলে মনে হচ্ছে না।
এছাড়াও, আমি এই ভয়েবটি পাচ্ছি যে বিশেষ অক্ষরগুলি সহ কীপ্রেস ট্রিগার করা মোটেই কার্যকর হয় না। কে এই কাজটি করেছে তা যাচাই করতে পারবেন?
আমি এই প্রশ্নের সমস্ত উত্তর পড়েছি এবং এর সমাধানগুলির কোনওটিই কার্যকর বলে মনে হচ্ছে না।
এছাড়াও, আমি এই ভয়েবটি পাচ্ছি যে বিশেষ অক্ষরগুলি সহ কীপ্রেস ট্রিগার করা মোটেই কার্যকর হয় না। কে এই কাজটি করেছে তা যাচাই করতে পারবেন?
উত্তর:
আপনি যদি কী কী চাপ বা কীডাউন ইভেন্টটি ট্রিগার করতে চান তবে আপনাকে যা করতে হবে তা হ'ল:
var e = jQuery.Event("keydown");
e.which = 50; // # Some key code value
$("input").trigger(e);
JQuery 1.6+ এর সাথে সামান্য আরও সংক্ষিপ্ত :
var e = jQuery.Event( 'keydown', { which: $.ui.keyCode.ENTER } );
$('input').trigger(e);
(যদি আপনি jQuery UI ব্যবহার না করেন তবে পরিবর্তে উপযুক্ত কীকোডে সাব ব্যবহার করুন))
.trigger(jQuery.Event('name', props))
। উদাহরণ দেখুন jsfiddle.net/9ggmrbpd/1 - ট্রিগারযুক্ত ইভেন্টের বৈশিষ্ট্যগুলি যেমন পাস করা হয়েছে। উত্স কোড: github.com/jquery/jquery/blob/master/src/event.js#L739
আসল উত্তরে কী কোডটি অন্তর্ভুক্ত করতে হবে:
var e = jQuery.Event("keydown");
e.which = 50; // # Some key code value
e.keyCode = 50
$("input").trigger(e);
যদিও jQuery এর ওয়েবসাইটটি বলে যে কোনটি এবং কীকোডকে স্বাভাবিক করা হয়েছে তারা খুব খারাপভাবে ভুল হয়েছে। E.Wich এবং e.keyCode এর জন্য স্ট্যান্ডার্ড ক্রস ব্রাউজার চেক করা সর্বদা নিরাপদ এবং এই ক্ষেত্রে কেবল উভয়কেই সংজ্ঞায়িত করুন।
e.keyCode = e.which = 50;
একটি এক লাইনে ভাল হবে। :)
keyCode
কাজ হয় না। এটিকে কাজ করতে উভয়কেই সেট করতে হয়েছিল
আপনি যদি jQuery ইউআইও ব্যবহার করেন তবে আপনি এটি করতে পারেন:
var e = jQuery.Event("keypress");
e.keyCode = $.ui.keyCode.ENTER;
$("input").trigger(e);
ঠিক আছে, আমার সাথে এটি কাজ করে ...
var e2key = function(e) {
if (!e) return '';
var event2key = {
'96':'0', '97':'1', '98':'2', '99':'3', '100':'4', '101':'5', '102':'6', '103':'7', '104':'8', '105':'9', // Chiffres clavier num
'48':'m0', '49':'m1', '50':'m2', '51':'m3', '52':'m4', '53':'m5', '54':'m6', '55':'m7', '56':'m8', '57':'m9', // Chiffres caracteres speciaux
'65':'a', '66':'b', '67':'c', '68':'d', '69':'e', '70':'f', '71':'g', '72':'h', '73':'i', '74':'j', '75':'k', '76':'l', '77':'m', '78':'n', '79':'o', '80':'p', '81':'q', '82':'r', '83':'s', '84':'t', '85':'u', '86':'v', '87':'w', '88':'x', '89':'y', '90':'z', // Alphabet
'37':'left', '39':'right', '38':'up', '40':'down', '13':'enter', '27':'esc', '32':'space', '107':'+', '109':'-', '33':'pageUp', '34':'pageDown' // KEYCODES
};
return event2key[(e.which || e.keyCode)];
};
var page5Key = function(e, customKey) {
if (e) e.preventDefault();
switch(e2key(customKey || e)) {
case 'left': /*...*/ break;
case 'right': /*...*/ break;
}
};
$(document).bind('keyup', page5Key);
$(document).trigger('keyup', [{preventDefault:function(){},keyCode:37}]);
আপনি যদি বর্তমান কার্সার এবং পাঠ্য নির্বাচন বিবেচনায় নিতে চান ...
এটি ক্রোমে অ্যাংুলারজেএস অ্যাপের জন্য আমার পক্ষে কাজ করছে না। নাদিয়া মূল মন্তব্যগুলিতে যেমন উল্লেখ করেছেন, অক্ষরটি ইনপুট ক্ষেত্রে কখনই দৃশ্যমান হয় না (কমপক্ষে, এটি আমার অভিজ্ঞতা ছিল)। তদ্ব্যতীত, পূর্ববর্তী সমাধানগুলি ইনপুট ক্ষেত্রে বর্তমান পাঠ্য নির্বাচনকে বিবেচনা করে না। আমাকে একটি দুর্দান্ত লাইব্রেরি jquery- নির্বাচন ব্যবহার করতে হয়েছিল ।
আমার কাছে একটি কাস্টম অন স্ক্রিনের সংখ্যাযুক্ত কীপ্যাড রয়েছে যা একাধিক ইনপুট ক্ষেত্রে পূরণ করে f আমি বাধ্য ছিলাম...
অস্পষ্টতার সাথে, বর্তমান পাঠ্য নির্বাচনটি সংরক্ষণ করুন (শুরু করুন এবং থামান)
var pos = element.selection('getPos')
lastFocus.pos = { start: pos.start, end: pos.end}
যখন আমার কীপ্যাডের একটি বোতাম টিপবে:
lastFocus.element.selection( 'setPos', lastFocus.pos)
lastFocus.element.selection( 'replace', {text: myKeyPadChar, caret: 'end'})
আপনি এটি একটি একক লাইনে করতে চান আপনি ব্যবহার করতে পারেন
$("input").trigger(jQuery.Event('keydown', { which: '1'.charCodeAt(0) }));
console.log( String.fromCharCode(event.charCode) );
আমি অনুমান করি অক্ষর মানচিত্রের প্রয়োজন নেই।
এটি এই দস্তাবেজের মতো সম্পাদন করা যেতে পারে
$('input').trigger("keydown", {which: 50});