标签: autofocus

在输入标记上使用autofocus属性时,不会调用onfocus

在以下示例中,我只获得一个警告框.我读到焦点是在JavaScript代码执行之前.有没有办法让这个工作?

<input id="i" type="text" autofocus onfocus="alert(1)">

<script type="text/javascript">
document.getElementById('i').addEventListener('focus', function() {
    alert(2);
}, false);
</script>
Run Code Online (Sandbox Code Playgroud)

(我只在Safari中测试过这个)

编辑:我显然可以这样做(Prototypejs选择器):

var autofocusElement = $$('input[autofocus]')[0];
callListener(autofocusElement);
Run Code Online (Sandbox Code Playgroud)

但与仅添加事件监听器相比,它看起来很丑陋.

编辑:

不要担心自动聚焦属性缺乏浏览器支持.它很容易解决,就像我在下面的链接中所做的那样.我可以看到,这个问题也是最好的解决方案.我的问题是,如果我能够比不必手动调用监听器那么难看.

http://jsfiddle.net/tellnes/7TMBJ/3/

它在Firefox 3.6中运行良好,因为Firefox不支持自动对焦.但是在支持自动对焦的Safari中,并不是所谓的事件.

javascript html5 javascript-events autofocus

6
推荐指数
1
解决办法
5300
查看次数

到iphone自动对焦的"兴趣点"的距离

在iphone中,我想计算从相机到主体的距离.

我想知道也许iphone相机的"主动自动对焦"为我提供了与主题的距离(兴趣点)?

提前谢谢了.

ps家伙,如果你认为这是不可能的PLZ让我知道;)

iphone camera autofocus ios

6
推荐指数
1
解决办法
4181
查看次数

Android:使用"连续"自动对焦录制视频

我从事视频录制工作; 一切都有效,除了要求连续对焦.这就是我所做的(在surfaceCreated和surfaceChanged中都尝试过但没有成功):

camera = Camera.open();
camera.setPreviewDisplay(holder);

Parameters parameters = camera.getParameters();
Run Code Online (Sandbox Code Playgroud)

那我也是

parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
Run Code Online (Sandbox Code Playgroud)

要么

parameters.set("focus-mode", "continuous-video");
Run Code Online (Sandbox Code Playgroud)

两者都应该做同样的事情; 然后我用参数设置

camera.setParameters(parameters);
Run Code Online (Sandbox Code Playgroud)

这最后一行总是崩溃!所以我想念一些东西吗?

顺便说一句,我测试了Desire HD,Galaxy S,Galaxy Tab 7和10.1等新设备,它们必须支持连续自动对焦; 至少他们的内置相机应用支持它.

crash video android recording autofocus

6
推荐指数
2
解决办法
8989
查看次数

是否将焦点设置为使用HTML5自动对焦的隐形表单控件?

正如标题指出:将重点仍然是在表单控件设置autofocus="autofocus",即使它们与隐藏display: none;visibility: hidden;

forms html5 autofocus

6
推荐指数
1
解决办法
4855
查看次数

自动对焦当通过Ajax加载<Form> <input>时,HTML5的属性不仅适用于FireFox.为什么?

下面是我通过ajax加载的表单.当我直接运行表单页面然后自动对焦c_name在Firefox中工作但是当加载ajax时它不会!虽然它与opera/safari/chrome一起工作正常!

<form action="client_entry_action.php" method="post" id="client_entry_form" name="client_entry_form">

<fieldset id="client_info_1">

    <label for="c_name">Name:</label> 
    <input type="text" name="c_name" required placeholder="Name" autofocus="autofocus" />

    <label for="c_phone">Phone Number:</label> 
    <input type="tel" name="c_phone" required placeholder="Mobile/Phone Number" />

    <label for="c_email">Email:</label> 
    <input type="email" name="c_email" required placeholder="email@example.com" />

    <label for="c_address">Address:</label> 
    <textarea name="c_address" ></textarea>


</fieldset>

<fieldset id="client_info_2">   

    <label for="c_info">Additional notes:</label> 
    <textarea name="c_info" ></textarea>

    <input type="submit" name="add_client" value="Add Client" />

</fieldset>        

</form>
Run Code Online (Sandbox Code Playgroud)

ajax firefox html5 autofocus

6
推荐指数
2
解决办法
2万
查看次数

如何检测EditText由Android获得焦点.不是最终用户触摸编辑文本?

一个android.widget.EditText可以通过2个原因获得焦点,因为我知道:

案例1.最终用户按目的触摸编辑文本.

案例2.系统自动提供编辑文本.

  • 导航
  • 第一个默认焦点
  • ...

我的问题是: 如何才能检测到案例2?(事件监听器?)

我想要检测案例2的原因是:我想设置当前位置是编辑文本通过案例2获得焦点的最后位置.

EditText.setOnFocusChangeListener适用于case1,case2所以看来我不能使用它.

谢谢!

android focus onfocus autofocus android-edittext

6
推荐指数
1
解决办法
6244
查看次数

防止HTML5自动对焦在较小(移动)屏幕上显示软键盘

使用HTML5属性"autofocus"对于网页来说非常有用.但是,在Android设备上使用 - 例如 - Firefox(37.0.1)会导致在页面加载时显示软键盘.

<input type="text" name="q" autofocus>
Run Code Online (Sandbox Code Playgroud)

软键盘占用了大量空间,因此我想阻止它打开.同时,自动对焦是我们普通屏幕/设备所需的非常有用的功能.

我尝试在页面加载时通过jQuery删除基于屏幕宽度的"自动对焦"属性,但是,为时已晚.此时,浏览器显然已经接受了该属性并显示了软键盘:

$(function(){
    if (window.innerWidth < 600)
        $('*[autofocus]').removeAttr('autofocus');
});
Run Code Online (Sandbox Code Playgroud)

有什么建议?

html mobile html5 autofocus soft-keyboard

6
推荐指数
1
解决办法
1551
查看次数

MDL准备活动

MDL在页面加载时升级其组件,因此<input>使用autofocus属性会失去其焦点.我希望在MDL完成重新渲染后将注意力集中在此输入上.

我正在尝试收听一些页面就绪事件(codepen):

$('input#srch').one('componentDidUpdate', function(){console.log('ready')});
Run Code Online (Sandbox Code Playgroud)

既不与$(document)也不$(document.body)$('.mdl-layout')选择者一起工作.
我用谷歌搜索了一些类似的事件,但没有运气,我错过了什么?
当然我可以使用,setTimeout但我不认为这应该是一个解决方案

谢谢.

jquery javascript-events autofocus material-design material-design-lite

6
推荐指数
1
解决办法
1434
查看次数

Android camera2 api触控焦点的例子?

嗨,我正在使用camera2basic示例来实现我的camera2应用程序.我找不到任何好的例子来实现触摸以使用camera2 api进行聚焦.目前我用于触控的代码是:

    private void setFocusArea(MotionEvent event) {
    if (mCameraId == null) return;
    CameraManager cm = (CameraManager)getActivity().getSystemService(Context.CAMERA_SERVICE);
    CameraCharacteristics cc = null;
    try {
        cc = cm.getCameraCharacteristics(mCameraId);
    } catch (CameraAccessException e) {
        e.printStackTrace();
    }

    int myX = (int)event.getX();
    int myY = (int)event.getY();
    MeteringRectangle focusArea = new MeteringRectangle(myX-100,myY-100,200,200,MeteringRectangle.METERING_WEIGHT_DONT_CARE);
    mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AF_TRIGGER, CameraMetadata.CONTROL_AF_TRIGGER_CANCEL);
    try {
        mCaptureSession.capture(mPreviewRequestBuilder.build(), mCaptureCallback,
                mBackgroundHandler);
        // After this, the camera will go back to the normal state of preview.
        mState = STATE_PREVIEW;
    } catch (CameraAccessException e){
        // log
    }

    if (isMeteringAreaAESupported(cc)) {
        mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_REGIONS, …
Run Code Online (Sandbox Code Playgroud)

android autofocus camera2 android-camera2

6
推荐指数
1
解决办法
2827
查看次数

Stackpanel中的用户控件失去焦点

我正在创建一个XML Form Reader.每种控件类型都是用户控件.但是,当用户点击不是聚焦控件(即TextBlock)的表单上的某个位置时,表单会将焦点跳转到页面中的第一个可聚焦控件.(即TextBox)

这会将页面滚动到顶部(通常),使用户远离他们正在处理的内容.

我在焦点事件周围尝试了很多不同的事情,但是如何解决这个问题却遇到了障碍.

处理这个问题的最佳方法是什么?任何提示或技巧将不胜感激.

谢谢

编辑(更多信息)

"MASTER"页面有一个 StackPanel

<StackPanel x:Name="pnlFormMain" ScrollViewer.BringIntoViewOnFocusChange="False"/>
Run Code Online (Sandbox Code Playgroud)

对于xml表单中的每个控件,UserControl将添加到stackpanel.

    <UserControl.Resources>
    <Storyboard x:Name="Show">
        <DoubleAnimation Duration="0:0:0.6" To="1" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="_WidgetMaster" d:IsOptimized="True"/>
    </Storyboard>
    <Storyboard x:Name="Hide">
        <DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="_WidgetMaster" d:IsOptimized="True"/>
    </Storyboard>
</UserControl.Resources>

<Grid x:Name="grdInput" ScrollViewer.BringIntoViewOnFocusChange="False">
    <Grid.RowDefinitions>
        <RowDefinition Height="auto" />
        <RowDefinition Height="auto" />
        <RowDefinition Height="auto" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="auto" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>


    <Grid Grid.Column="0" Grid.Row="0" ScrollViewer.BringIntoViewOnFocusChange="False">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="auto" />
            <ColumnDefinition Width="auto" />
        </Grid.ColumnDefinitions>
<!-- label -->
        <TextBlock x:Name="lblLabel" Text="Label" Grid.Column="0" VerticalAlignment="Center" Margin="3,6,5,5" TextWrapping="Wrap" />

        <!-- …
Run Code Online (Sandbox Code Playgroud)

c# focus autofocus xamarin uwp

6
推荐指数
1
解决办法
332
查看次数