سؤال

هل هناك طريقة لاستخدام أحداث jQuery القياسية مع SlickGrid؟ فمثلا.

grid = new Grid($("#myGrid"), data, columns, options);
grid.blur(function(){}); // this would be nice

// this will let me add jQuery events to the whole grid, but 
// I lose the cell position/data
$("#myGrid").blur(function(){}); 

شكرا مقدما!

هل كانت مفيدة؟

المحلول

الجواب القصير هو لا.

لتوضيح ، SlickGrid ليس مكونًا إضافيًا JQuery ولا يمتد jQuery بأي شكل من الأشكال. إنه مكون منفصل يستخدم jQuery أسفل الغطاء. لقد تم تحديدها بشكل صريح من الأحداث التي يمكنك الاشتراك فيها عن طريق تعيين معالجات الأحداث على مثيل الشبكة. في حين بعض من الأحداث "القياسية" تنطبق على عقد DOM التي تم إنشاؤها بواسطة الشبكة ، يتم تثبيط استخدامها. يتم إنشاء العقد وإزالتها بواسطة SlickGrid أثناء التمرير ، لذلك لا يمكنك الاعتماد عليها في البقاء كما هو أو حدث هناك. ما لم يكن لديك فهم جيد للداخلية ، من الأفضل التمسك بالأحداث المحددة بشكل صريح.

في البداية ، فكرت في تغيير Slickgrid لاستخدام أحداث jQuery لكنني قررت ضده. على الرغم من أنني اخترت استخدام jQuery كإطار لـ SlickGrid ، فليس هناك حاجة لإجبار المستخدمين على تعلمها واستخدامها أيضًا. هذا يعطيني أيضًا المرونة في التبديل إلى إطار آخر في وقت لاحق.

نصائح أخرى

يمكنك دائمًا النظر في التعليمات البرمجية المقدمة وتطبيق .blur () على الحاوية التي تم إنشاؤها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top