点击判断,获取焦点

通过点击按钮,来使一个不可用的文本框变为可读

1.html

<style type="text/css">

<!--

.k_1{}{}{}{

    background-color :#ffffff;

}

 .disabled{}{}{}{

     background-color :#e1e1e1;

    }   



-->

</style>

<script>

function openwin(){

            var Win = window.open('3.asp?tt='+form1.one.value+'',"","width=1,height=1,top=1,left=1");

            

    }

</script>

<form name="form1">

<input name="reemail" type="text" class="k_1" id="one" size="25" maxlength="50"  >

<img style="cursor:hand" src="images/p_67.gif" width="106" height="19" border="0" οnclick="openwin();">

<input name="reemail" type="text" class="disabled" id="two" size="25" maxlength="50" disabled οnfοcus="this.className='k_1'" >

</form>
2.html
<script language="javascript">

    <!--

    alert("测试成功!");

        window.opener.document.form1.two.disabled  =false;

        opener.document.form1.two.focus();

        window.close();

        

    -->

    </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现点击外部弹窗不取消的效果,你可以在弹窗的外部设置一个点击事件拦截,在拦截事件中判断点击的位置是否在弹窗内部,如果是,则不取消弹窗,如果不是,则取消弹窗。 以下是一个示例代码,用于实现这个功能: ```java // 创建一个 PopupWindow PopupWindow popupWindow = new PopupWindow(context); // 设置 PopupWindow 的内容、宽度和高度等属性 // 在外部设置点击事件拦截 View outsideView = findViewById(R.id.outside_view); outsideView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int x = (int) event.getX(); int y = (int) event.getY(); if (event.getAction() == MotionEvent.ACTION_UP) { if (popupWindow.isShowing()) { // 判断点击的位置是否在弹窗内部 Rect rect = new Rect(); popupWindow.getContentView().getGlobalVisibleRect(rect); if (!rect.contains(x, y)) { // 点击的位置不在弹窗内部,取消弹窗 popupWindow.dismiss(); } } } // 返回 false,使得点击事件可以继续传递 return false; } }); // 在弹窗中的控件上设置点击事件,用于获取焦点并弹出键盘 View popupView = popupWindow.getContentView(); View editText = popupView.findViewById(R.id.edit_text); editText.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { popupWindow.setFocusable(true); popupWindow.update(); // 弹出键盘 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT); } }); // 显示弹窗 popupWindow.showAtLocation(anchorView, Gravity.CENTER, 0, 0); ``` 在这个示例中,`outsideView` 是外部的视图,用于拦截点击事件。当点击外部视图时,会判断点击的位置是否在弹窗内部,如果不在则取消弹窗。`editText` 是弹窗中的 EditText 控件,当点击该控件时,会获取焦点并弹出键盘。你可以根据实际情况修改代码中的视图 id 和弹窗的内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值