我有一个非常有趣的任务 - 我有一个带音量条的外部播放器,我需要模仿点击此音量栏的选定位置。
如果我点击此音量栏的开头 - 它将是低音量。 如果我点击此音量栏的末尾 - 它将是高音量。
我知道我可以触发所有元素的触发器(我的情况$(".volume_bar").trigger("click");
中的整个音量条)但是如何触发元素某个部分的单击触发器?例如 - 像$(".volume_bar").trigger("click": {left:30%});
有什么想法吗?
答案 0 :(得分:0)
您需要获取元素的位置,然后在所需位置触发单击。您可以使用jQuery的offset(),然后您可以按事件here设置事件的pageX和pageY参数。
要在给定位置触发事件,代码应如下所示:
var $element = $('#element')
$element.width() // get the width
$element.height() // get the height
var event = new $.Event('click');
event.pageX = $element.offset().left + $element.width() * 0.5
event.pageY = $element.offset().top + $element.height() * 0.5
$element.trigger(event) // this should click in the middle
警告未经测试!!!无论如何,你得到了要点......