我对HTML/Java很新,但我正在学习......
我想在iphone上开发一个按钮,在按下和发布时运行java脚本命令.我使用onmousedown和onmouseup属性完成了这个查找,但这不起作用.
有人可以指出我正确的方向,如何在iPhone上做同样的事情?
我用这个,
$("#loginanchor1").click(function (e) {
e.preventDefault();
$("#signin_menu1").slideDown("slow");
});
$(document).mouseup(function (e) {
if ($(e.target).parent("a.loginanchor1").length == 0) {
//$(".signin").removeClass("menu-open");
$("#signin_menu1").slideUp("slow");
}
});
Run Code Online (Sandbox Code Playgroud)
一切正常但发生了什么是当signin_menu1
显示块时我点击div里面的鼠标按钮div滑动...我想要在signin_menu1
显示块时阻止鼠标功能.所以我想改变这样的条件,
if(($(e.target).parent("a.loginanchor1").length==0) &&( //check the display of the div)
现在如何检查显示?
如果鼠标按钮在已触发的元素之外释放,则不会触发Javascript事件onmouseup
。onmousedown
这会导致 JQuery UI 中的拖放错误:当鼠标按钮在其容器外部释放时,JQuery可拖动元素不会停止拖动(因为该元素在到达其父边界时将停止移动)。重现步骤:
我在最新的 Chrome 和 IE 中看到了这种行为。
有什么解决方法吗?
mouseout
我知道我们可以停止在或上拖动容器mouseleave
,但我想继续拖动,即使我在父容器之外,就像在谷歌地图中一样(无论您在哪里释放鼠标,它总是停止拖动地图)。
我正在尝试从TPanel组件创建自定义按钮.为此,我为onmousedown和onmouseup事件提供了一个覆盖(做一些绘图),并且我使用了onclick事件来处理点击.
不幸的是,如果我快速点击我的面板,其他每一次点击都会"丢失",但我无法弄清楚原因.
即便是最简单的例子也没有在这方面失败.我创建了一个新的VCL应用程序,添加了一个列表框,一个面板,并按如下方式实现了事件:
procedure TForm1.Panel1Click(Sender: TObject);
begin
listbox1.Items.Add('click');
end;
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
listbox1.Items.Add('mouse down');
end;
procedure TForm1.Panel1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
listbox1.Items.Add('mouse up');
end;
Run Code Online (Sandbox Code Playgroud)
结果如下:
mouse down
click
mouse up
mouse down
mouse up
Run Code Online (Sandbox Code Playgroud)
等等......每次点击都会被忽略,但我不明白为什么.
有人可以解释一下吗?
我有滑块问题.当我抓住处理程序时,我改变图像的.src,只是为了改变它的颜色.但是,我希望它在我释放鼠标按钮时更改回原始颜色.我尝试了两件事.
1)在处理程序mouseup事件上更改它:这只有在我释放处理程序上的按钮时才有效,所以这不是一个解决方案.
2)Changin它返回窗口mouseup事件:事件未正常触发.如果我在窗口的任何位置单击并释放,则事件会正常触发,但如果我单击处理程序,将光标移动到窗口的任何其他位置,然后释放按钮,则事件将不会触发.
顺便说一句,即时通讯使用原型js框架.
解决方案?谢谢
这是代码.我在文档准备好后加载处理函数.
function handler()
{
var handler = $('handler');
Event.observe(window, "mouseup", function(){
alert('salta'); //to see when mouseup fires
if(handler.src=='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper_o.png'){ //orange
handler.src='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper.png';} //grey
});
Event.observe(handler,'mousedown',function(){handler.src='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper_o.png';}); //orange
}
Run Code Online (Sandbox Code Playgroud) 我正在使用WPF和VB.net的项目.我想在视觉上模拟"拖动"一个对象(虽然我不想出于目的而使用标准的拖放).
基本上,我有一个标签对象,在它的MouseDown事件中,我希望它跟随640x480实体大小网格内的鼠标光标(但不在它之外!).请注意,此网格位于全屏窗口的中心.同样,对象不应该跟在网格外面的鼠标(我在这里猜测"ClipToBounds = True")
然后,在标签的MouseUp事件上,我希望它保持在当前位置或返回到其原始位置,由另一个对象的MouseEnter属性设置的布尔变量的值确定.
请注意,如果它更容易使用,我可以将网格更改为一个画布.我猜这是可取的.
所以,在那个冗长的解释之后,这是我的问题(双重):
如何使对象(标签)跟随网格/画布内的鼠标光标,但不在其外部?这需要在标签的MouseDown事件上发生.
如何使对象"粘住"在当前位置?(由此,我可以弄清楚如何让它自己回到原来的位置.:D)
我支持任何可以帮助我最有效地实现这一目标的人!非常感谢你们.
我试图解除一个元素的mouseup事件.我尝试了以下但没有一个正在工作.
$('#myElm').unbind('mouseup');
$('#myElm').unbind('onmouseup');
$('#myElm').unbind('click');
Run Code Online (Sandbox Code Playgroud)
如何取消绑定使用$('#myElm')分配的事件.mouseup(function({...}); ???
编辑:添加完整代码
cacheBgArea.mouseup(function(){
var $cursorInElm = $(cacheBgArea.selectedText().obj);
var selectFontSize = parseInt($cursorInElm.css('fontSize')), selectFontFace = $cursorInElm.css('fontFamily');
$fontSizeSlider.slider('value', selectFontSize);
$chooseFontFace.find('option').each(function(){
var $this = $(this);
if ($this.val() == selectFontFace) {
$this.attr('selected', true);
return false;
}
});
log('font weight: ' + $cursorInElm.css('fontWeight'));
if ($cursorInElm.css('fontWeight') == 'bold' || $cursorInElm.css('fontWeight') == 401) {
$boldCheckbox.attr('checked', true).change();
} else {
$boldCheckbox.attr('checked', false).change();
}
var objText = cacheBgArea.selectedText();
if (objText.obj.nodeName == 'a' || objText.obj.nodeName == 'A') {
$cursorInElm = $(objText.obj)
var elmsHref = $cursorInElm.attr('href');
if …
Run Code Online (Sandbox Code Playgroud) 完整代码:https : //github.com/kenpeter/test_vue_simple_audio_1
我附加@onmouseup
到input range
. 当我拖动滑块时,progressChange
似乎没有被调用。
<input
type="range"
:min="0"
:step="1"
v-model="current"
:value="current"
:max="duration"
@onmouseup="progressChange()"
/>
Run Code Online (Sandbox Code Playgroud)
这里是 methods
methods: {
timeChange: function () {
this.current = this.$refs.player.currentTime;
},
getDuration: function () {
this.duration = this.$refs.player.duration;
},
toggleStatus: function () {
var player = this.$refs.player;
this.isPause ? player.play() : player.pause();
this.isPause = !this.isPause;
},
next: function () {
if (this.audioIndex == this.songs.length - 1) {
if (this.repeat) {
this.audioIndex = 0;
}
} else { …
Run Code Online (Sandbox Code Playgroud)