我一直在寻找很长很长的时间,到目前为止,我没有遇到过可以通过编程方式显示软键盘的PhoneGap/Cordova应用程序的解决方案.
场景:
我们有一个PhoneGap应用程序 - 一个在jQuery Mobile中创建的网站 - 在某一点上显示了一个用户对话框.此对话框也是一个网页,并且只有一个INPUT文本框,用户应在其中输入代码.
问题:
显示代码对话框时,使用JavaScript聚焦输入框.但是,由于iPhone内部浏览器受到限制,在用户实际真正点击输入文本框之前,软键盘才会出现.
我们尝试了什么:
有任何想法吗?
编辑:此问题中提到的限制仅适用于内置浏览器 ...如果您的目标是Opera,您将通过使用以下代码获得成功:
var e = jQuery.Event("keydown", { keyCode: 37 });
$('#element').focus().trigger(e);
Run Code Online (Sandbox Code Playgroud)
EDIT2:这是一个可以在插件中使用的最终工作PhoneGap代码:
keyboardhelper.h
//
// keyboardHelper.h
// soft keyboard displaying plugin for PhoneGap
//
// Copyright 2012 Martin Ambrus.
//
#import <Foundation/Foundation.h>
#ifdef CORDOVA_FRAMEWORK
#import <Cordova/CDVPlugin.h>
#else
#import "CDVPlugin.h"
#endif
@interface keyboardHelper : CDVPlugin {
NSString *callbackID;
}
@property (nonatomic, copy) NSString …Run Code Online (Sandbox Code Playgroud) 我需要在jquery中使用十进制比较来比较以下场景.
var a=99999999999.99;
var b=9999999999999999999
if(parseFloat(a).toFixed(2) > parseFloat(b).toFixed(2))
Run Code Online (Sandbox Code Playgroud)
这总是会回来的true.如何解决问题?
我试过的一些输出:
parseFloat(9874563212).toFixed(2) > parseFloat(98745632).toFixed(2) true
parseFloat(98745632).toFixed(2) > parseFloat(987456321).toFixed(2) false
parseFloat(99999999999.99).toFixed(2) > parseFloat(9999999999999999999).toFixed(2) true
parseFloat(99999999999.99).toFixed(2) > parseFloat(999999999999).toFixed(2) false
parseFloat(99999999999.99).toFixed(2) > parseFloat(9999999999999).toFixed(2) false
parseFloat(99999999999.99).toFixed(2) > parseFloat(99999999999999).toFixed(2) false
parseFloat(99999999999.99).toFixed(2) > parseFloat(999999999999999).toFixed(2) false
parseFloat(99999999999.99).toFixed(2) > parseFloat(9999999999999999).toFixed(2) true
parseFloat(99999999999.99).toFixed(2) > parseFloat(1111111111111111).toFixed(2) true
parseFloat(99999999999.99).toFixed(2) > parseFloat(111111111111111).toFixed(2) true
Run Code Online (Sandbox Code Playgroud) 我最近发现 jQuery的livequery插件可能非常浪费,因为它不使用事件委托但绑定所有可绑定事件并在每次更改时重新检查整个DOM
如果有人使用livequery和.live()获得有关最佳实践的更多信息或建议,我将非常感激
嘿伙计们 - 一个简单的问题,对我来说还没有简单的答案:)
是否可以从历史对象中获取最后一页网址?我已经来过历史了.但是,这可能是未定义的,也可能不受我所见过的影响
如果这个问题偏离主题,请推荐另一个StackExchange网站发布:-)
我们公司最近从Thawte购买了G2代码签名证书.我已经完成了签署64位驱动程序所需的所有步骤,因此可以在Windows 7 64位下安装.
即,我有:
我已经尝试使用已经通过的signtool.exe verify/pa/v my_driver.sys来验证签名.如果我不在命令行中使用/ pa,则会出现"SignTool错误:已处理证书链,但终止于信任提供程序不信任的根证书".(这是我应该担心的事情吗?)
现在,当我尝试使用简单的INF文件(而不是cab文件)安装驱动程序时,结果是关于Windows无法验证驱动程序的发行者的红色警告.当我选择不安装驱动程序时,我收到以下额外消息:无法验证文件,因为它没有通过Authenticode(tm)签名的关联目录.
我已经读过Thawte过去不能真正用来签这样的驱动程序,因为不知何故MS停止支持它,但它仍然在他们的网站上列出了交叉证书.不确定这是否仍然有效,无法找到任何证据.
任何建议将不胜感激.
我有两个月的例子,我改变了PC.现在这似乎不再起作用了.这是一个应该通过(按下)按钮加载小窗口对话框的示例.但是,它不起作用......这是我的代码:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">
// <---- VENTAÑAS DE PARAMETERES---->
var regex,v,l,c,b;
$( "#wnd_Addparam" ).dialog({
autoOpen: false,
height: 'auto',
width: 350,
modal: true,
resizable:false,
buttons: {
"Add": function() {
$( this ).dialog( "close" );
},
Cancel: function() {
$( this ).dialog( "close" );
}
},
close: function() {
$( this ).dialog( "close" );
}
});
$( "#btn_Addpar" ).click(function() {
$( "#wnd_Addparam" ).dialog( "open" );
});
$( "#wnd_Paramedit" ).dialog({
autoOpen: false,
height: 'auto',
width: 350,
modal: true,
resizable:false,
buttons: …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用acustom绑定显示通知DIV,同时还通过2个observable调整DIV的CSS和HTML.
该问题是,当我改变这些观测2的值,这也激发了自定义绑定,以及由于某种原因.
模板:
<div class="alert top-alert" data-bind="fade: topMessageShow, css: topMessageType, html: topMessage"></div>
Run Code Online (Sandbox Code Playgroud)
自定义处理程序:
ko.bindingHandlers.fade = {
update: function resolveFade(element, valueAccessor, allBindingsAccessor) {
if (ko.utils.unwrapObservable( valueAccessor() )) {
$(element).hide().delay(300).fadeIn('slow');
} else {
// fade out the notification and reset it
$(element).fadeOut('slow', function() {
// reset those 2 observables that set class and HTML of the notification DIV
MyClass.topMessageType('');
MyClass.topMessage('');
});
}
}
};
Run Code Online (Sandbox Code Playgroud)
触发代码:
MyClass.topMessageType('alert-info');
MyClass.topMessage(msg);
MyClass.topMessageShow(true);
Run Code Online (Sandbox Code Playgroud)
JSFiddle: http ://jsfiddle.net/UrxXF/1/
我有多个NSStrings,我希望将它们合并到另一个,这是我的代码到目前为止...
NSString *newURL = [_parameters objectForKey:@"url"];
NSString *emailBody = @"Hey!<br>I just snipped my long url with <a href=\"...\">My Cool App for iPhone</a> in just a few seconds!<p><b><a href=\""+newURL+@"\">"+newURL+@"</a></b></p>";
Run Code Online (Sandbox Code Playgroud) 我正在使用+符号来添加2个MD5哈希,如下所示:
md5('string1') + md5('string2')
Run Code Online (Sandbox Code Playgroud)
现在如果我用字符串做这个,就像这样:
'string1' + 'string2'
Run Code Online (Sandbox Code Playgroud)
... PHPp会给我0作为返回值.但是,对于MD5哈希,它总是返回一个数值,我无法确定任何原点.
javascript ×3
jquery ×3
code-signing ×1
cordova ×1
dialog ×1
iphone ×1
jquery-ui ×1
knockout-2.0 ×1
knockout.js ×1
livequery ×1
md5 ×1
merge ×1
nsstring ×1
objective-c ×1
php ×1
security ×1