事件

你可以使用 nashi('p').{事件名} 来设置监听事件,就像这样:

nashi('p').click(() => console.log('Nashi is great!'));

或者你可以这样触发元素的事件:

nashi('p').click(); // Nashi is great!

这是支持的所有事件:

blurfocusfocusinfocusout
hoverchangeclickcontextmenu
dblclickerrorkeydownkeypress
keyupmousedownmouseentermouseleave
mousemovemouseoutmouseovermouseup
resizescrollselectsubmit
inputinvalidresetwheel
dragdragenddragenterdragleave
dragoverdragstartpointerdownpointerup
pointermovepointeroverpointeroutpointerenter
pointerleavepointercancelgotpointercapturelostpointercapture

或者你可以调用 event() 或者 on() (on 是 event 的别名)来触发任意事件(一般用于触发你定义的自定义事件):

nashi('p').event('click', () => console.log('Nashi is great!'));
nashi('p').event('click'); // Nashi is great!

或者你可以用 trigger() 来触发事件:

nashi('p').trigger('click');

trigger() 还支持传入一个 customEvent,来触发自定义事件。

你可以使用 removeEvent() 来移除事件:

let count = 0;
const handler = count++;
const np = nashi('p');
np.click(handler);
np.click(); // count = 1
np.removeEvent('click', handler);
np.click(); // count = 1

事件别名

hover()

QueryResult.hover(handler);
/* 相当于 */
QueryResult.mouseenter(handler).mouseleave(handler);

pointerhover()

QueryResult.pointerhover(handler);
/* 相当于 */
QueryResult.pointerenter(handler).pointerleave(handler);
Last Updated:
Contributors: renovate[bot]