@yiero/gmlib
Version:
GM Lib for Tampermonkey/ScriptCat
83 lines (82 loc) • 1.74 kB
TypeScript
/**
* 模拟点击选项接口
*/
export interface ISimulateClickOptions {
/**
* 鼠标按钮类型
* @default 'left'
*/
button?: 'left' | 'right' | 'middle';
/**
* 事件是否冒泡
* @default true
*/
bubbles?: boolean;
/**
* 事件是否可取消
* @default true
*/
cancelable?: boolean;
/**
* 视口X坐标
* @default 0
*/
clientX?: number;
/**
* 视口Y坐标
* @default 0
*/
clientY?: number;
/**
* 是否按下Shift键
* @default false
*/
shiftKey?: boolean;
/**
* 是否按下Ctrl键
* @default false
*/
ctrlKey?: boolean;
/**
* 是否按下Alt键
* @default false
*/
altKey?: boolean;
/**
* 是否按下Meta键(Command键)
* @default false
*/
metaKey?: boolean;
/**
* 点击次数
* @default 1
*/
detail?: number;
}
/**
* 模拟鼠标点击事件
*
* 在指定元素上触发完整的鼠标点击事件序列(mousedown → click → mouseup)。
* 支持自定义鼠标按钮、坐标位置和修饰键状态。
*
* @param target 目标元素,将在此元素上触发点击事件
* @param options 点击选项配置
*
* @example
* // 模拟左键点击按钮
* const button = document.querySelector('#submit-btn');
* simulateClick(button);
*
* @example
* // 模拟右键点击
* simulateClick(element, { button: 'right' });
*
* @example
* // 模拟带修饰键的点击
* simulateClick(element, {
* button: 'left',
* ctrlKey: true,
* shiftKey: false
* });
*/
export declare function simulateClick(target: HTMLElement, options?: ISimulateClickOptions): void;