我想关闭一个System.Windows.Forms.Form,如果用户点击它以外的任何地方.我尝试过使用IMessageFilter,但即使这样,也没有任何消息传递给PreFilterMessage.如何在表单窗口外收到点击?
我尝试过各种各样的选择但却无法让愚蠢的事情发挥作用.如何在<li>中的<a>标记内获取范围以将类更改为"活动"; 然后在点击另一个<a>时将其删除?
<ul id="dumb">
<li><a href="#">Something<span></span></a></li>
<li><a href="#">Something Else<span></span></a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
单击<a>应该为span提供一个"active"类,当单击另一个时,它应该从原始中删除它并将其添加到<a>的范围内...
谢谢!
我在我的xml中使用webview,从资产目录加载html文件.但点击链接有时会在第一次点击时启动浏览器,有时甚至在5次点击后也无响应.
任何帮助表示赞赏.
谢谢
我有一个HTML按钮,我使用jQuery附加一个事件bind(),如下所示:
$('#mybutton').bind('click', myFirstHandlerFunction);
Run Code Online (Sandbox Code Playgroud)
在myFirstHandlerFunction,我希望这个处理程序用一个新的处理程序替换自己mySecondHandlerFunction,像这样:
function myFirstHandlerFunction(e) {
$(this).unbind('click', myFirstHandlerFunction).bind('click', mySecondHandlerFunction);
}
Run Code Online (Sandbox Code Playgroud)
在第二次单击处理程序中mySecondHandlerFunction,我想将按钮切换回其原始状态:取消绑定mySecondHandlerFunction处理程序并重新附加原始处理程序myFirstHandlerFunction,如下所示:
function mySecondHandlerFunction(e) {
$(this).unbind('click', mySecondHandlerFunction).bind('click', myFirstHandlerFunction);
}
Run Code Online (Sandbox Code Playgroud)
除了一个小细节之外,这很好用:因为click事件还没有通过每个按钮的点击处理程序传播,所以click事件被传递给按钮的下一个单击处理程序,它恰好是刚刚绑定的处理程序以前的处理程序.最终结果mySecondHandlerFunction在执行后立即myFirstHandlerFunction执行.
通过调用e.stopPropagation()每个处理程序可以很容易地解决这个问题,但是这具有消除可能已独立附加的任何其他点击处理程序的负面副作用.
有没有办法在两个点击处理程序之间安全地和一致地切换,而不必停止点击事件的传播?
创建布局后,我想自动点击一个按钮,我就可以使用button.performClick()它.
问题是它不起作用.看起来我在这个onCreate, onStart, onResume方法中不能这样做.按钮及其事件在什么时候创建,所以我可以点击它?
这个
@Override
protected void onResume() {
super.onResume();
mybutton.performClick();
}
Run Code Online (Sandbox Code Playgroud)
不起作用.
我想以编程方式创建几个ImageButtons.我能够创建它们但是click事件监听器不断接收相同的视图(按钮2),无论我是否单击按钮0,按钮1或按钮2.
RelativeLayout gameBoard = (RelativeLayout) findViewById(R.id.RelGameboard);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.CENTER_IN_PARENT,1);
for(int i = 0 ; i < 3 ; i++)
{
ImageButton btnGreen = new ImageButton(this);
btnGreen.setImageResource(R.drawable.bola_verde);
btnGreen.setLayoutParams(lp);
btnGreen.setOnClickListener(mGreenBallOnClickListener);
btnGreen.setBackgroundColor(Color.TRANSPARENT);
btnGreen.setTag(i);
btnGreen.setId(i);
gameBoard.addView(btnGreen);
}'
Run Code Online (Sandbox Code Playgroud)
单击事件侦听器:
private View.OnClickListener mGreenBallOnClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
//check which green ball was clicked
ImageButton imgBtn = (ImageButton) v;
Log.i("greeny","Clicked on green ball->"+imgBtn.getTag()+" v.ID->"+v.getId());
}
};
Run Code Online (Sandbox Code Playgroud)
对于任何绘制的图像按钮,当我点击时我得到:点击绿球 - > 2 v.ID-> 2
按钮位于不同的位置(我为每个按钮设置了不同的填充,但为了简化代码,我没有把它放在这里)
情况:无边框QDialog在其他应用程序之上成功保留.
问题是当点击这个永远在顶部的应用程序窗口时,会发生以下情况:
是否有可能在单击此永远在线的非活动和未聚焦的应用程序窗口时,
我正在使用Qt,但使用本机Windows API没有问题.
我尝试了以下Qt windowFlag:
Qt::WindowDoesNotAcceptFocus 但它不起作用:永远在线的应用程序被激活,专注.Qt::WindowTransparentForInput总是在顶部的应用程序对点击非常透明:没有激活而没有集中注意力,但遗憾的是,点击时不会触发按钮.我的应用程序,如果poulsas按钮弹出一个有两个微调器,那么我得到弹出窗口就好了但是当我得到错误是当我点击微调器.
在这里你有我的下面的代码和调试,因为logcat我得到了一切正确.
public void añadirRegistro(View v){
showPopup(leer_registros.this);
}
private void showPopup(final Activity context) {
Spinner eleccionIP,eleccionRegistro;
borrar_datos BorrarDatos = new borrar_datos ();
// Inflate the popup_layout.xml
RelativeLayout viewGroup = (RelativeLayout) context.findViewById(R.id.popup);
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = layoutInflater.inflate(R.layout.popup_elegir_registros, viewGroup);
eleccionIP = (Spinner) layout.findViewById(R.id.popupIP);
eleccionRegistro = (Spinner)layout.findViewById(R.id.popupRegistro);
/*Cursor cur=BorrarDatos.obtenerIP();
BorrarDatos.rellenarSpinner(cur,eleccionIP);*/
final PopupWindow popup = new PopupWindow(context);
popup.setContentView(layout);
popup.setWidth(LayoutParams.WRAP_CONTENT);
popup.setHeight(LayoutParams.WRAP_CONTENT);
popup.setFocusable(true);
popup.showAtLocation(layout, Gravity.NO_GRAVITY, 200, 200);
ArrayAdapter <CharSequence> adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
adapter.add("item 1");
adapter.add("item 2");
eleccionIP.setAdapter(adapter);
}
Run Code Online (Sandbox Code Playgroud)
调试:
WindowManagerGlobal.addView(View, …Run Code Online (Sandbox Code Playgroud) 我想模拟点击GMail COMPOSE按钮使用JS而不使用JQuery.
这是按钮:
<div class="T-I J-J5-Ji T-I-KE L3" role="button" tabindex="0" gh="cm"
style="-webkit-user-select: none;">COMPOSE</div>
Run Code Online (Sandbox Code Playgroud)
这是我的js:
var element = document.getElementsByClassName('T-I-KE')[0];
element.click();
Run Code Online (Sandbox Code Playgroud)
结果:undefined在所有浏览器中
图片:http://i.imgur.com/4IX9DZX.png
已经尝试过:
var event = document.createEvent("MouseEvent");
event.initEvent("click",true,true);
var element=document.getElementsByClassName("T-I-KE")[0];
element.dispatchEvent(event);
Run Code Online (Sandbox Code Playgroud)
结果:true.但没有任何反应.
我有一个div
<div id="preview">
</div>
Run Code Online (Sandbox Code Playgroud)
有没有办法将click事件绑定到div的左边框?
提前致谢.