小编mpl*_*jan的帖子

在jQuery中检测移动设备的最佳方法是什么?

有没有一种可靠的方法来检测用户是否在jQuery中使用移动设备?类似于CSS @media属性的东西?如果浏览器在手持设备上,我想运行不同的脚本.

jQuery $.browser函数不是我想要的.

javascript mobile jquery browser-detection

1564
推荐指数
29
解决办法
145万
查看次数

如何在Firefox和/或IE 10中使用HTML 5输入类型="日期"

我觉得奇怪的input type="date"是,在所有这段时间后仍然不支持Firefox.实际上,我不认为他们在输入元素上添加了很多(如果有的话)HTML 5新类型.IE10不支持它并不奇怪.所以,我的问题是......

如何type="date"使用一个input元素工作而不添加另一个.js文件(即jQueryUIDatePicker Widget)只是为了获取IE和Firefox浏览器的日历/日期?有什么东西可以应用到某个地方(可能是CDN?),这将使这个功能在Firefox和/或IE浏览器中默认工作?尝试针对IE 8+浏览器和Firefox,没关系,最新版本(28.0)会没问题.

更新:Firefox 57+支持输入类型=日期

forms firefox html5 internet-explorer jquery-ui

190
推荐指数
5
解决办法
33万
查看次数

更好地计算数组中属性值的方法

我有这样的事情:

$scope.traveler = [
            {  description: 'Senior', Amount: 50},
            {  description: 'Senior', Amount: 50},
            {  description: 'Adult', Amount: 75},
            {  description: 'Child', Amount: 35},
            {  description: 'Infant', Amount: 25 },
];
Run Code Online (Sandbox Code Playgroud)

现在有了这个数组的总量,我正在做这样的事情:

$scope.totalAmount = function(){
       var total = 0;
       for (var i = 0; i < $scope.traveler.length; i++) {
              total = total + $scope.traveler[i].Amount;
            }
       return total;
}
Run Code Online (Sandbox Code Playgroud)

当只有一个数组时很容易,但我有其他数组,我想要总结一个不同的属性名称.

我会更高兴如果我可以做这样的事情:

$scope.traveler.Sum({ Amount });
Run Code Online (Sandbox Code Playgroud)

但我不知道如何通过这种方式来解决这个问题,我可以在将来重复使用它,如下所示:

$scope.someArray.Sum({ someProperty });
Run Code Online (Sandbox Code Playgroud)

回答

我决定使用@gruff-bunny建议,所以我避免原型对象(Array)的原型设计

我只是对他的答案做了一点修改,验证了数组,并且sum的值不为null,这是我的最终实现:

$scope.sum = function (items, prop) {
    if …
Run Code Online (Sandbox Code Playgroud)

javascript arrays prototype-programming

136
推荐指数
13
解决办法
15万
查看次数

JQuery:ajax请求中的'Uncaught TypeError:Illegal invocation' - 几个元素

我有两个选择元素,A和B:当A的选择选项发生变化时,B的选项必须相应更新.A中的每个元素都含有B中的许多元素,它是一对多关系(A包含国家,B应包含位于给定国家的城市).

该函数do_ajax应该运行异步请求:

function do_ajax(elem, mydata, filename)
{
    $.ajax({
        url: filename,
        context: elem,
        data: mydata,
        datatype: "html",
        success: function (data, textStatus, xhr) {
            elem.innerHTML = data;
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

为了更新B的选项,我在A的onChange事件中添加了一个函数调用.这A是触发onChange事件(of )时运行的函数:

function my_onchange(e) // "e" is element "A"
{
    var sel_B = ... ; // get select element "B"

    // I skipped some code here
    // ...

    var data = {
        'mode': 'filter_city',
        'id_A': e[e.selectedIndex]
    };
    do_ajax(city_sel, data, 'ajax_handler.php');
}
Run Code Online (Sandbox Code Playgroud)

}

我读过JQuery文档,它们data …

html ajax jquery

105
推荐指数
7
解决办法
16万
查看次数

在两个日期内生成随机日期数组的优雅方法

我有一个日期选择器,我显示两个月,我想在每个可见月份中随机选择3个日期

  $('.date').datepicker({
    minDate: new Date(),
    dateFormat: 'DD, MM, d, yy',
    constrainInput: true,
    beforeShowDay: processDates,
    numberOfMonths: 2,
    showButtonPanel: true,
    showOn: "button",
    buttonImage: "images/calendar_icon.jpg",
    buttonImageOnly: true    
  });
Run Code Online (Sandbox Code Playgroud)

这是我的计算

var now = new Date();
var nowTime = parseInt(now.getTime()/1000);
var randomDateSet = {};

function getRandomSet(y,m) {
  var monthIndex = "m"+y+""+m; // m20121 for Jan
  if (randomDateSet[monthIndex]) return randomDateSet[monthIndex];
  // generate here
.
. - I need this part
.
  return randomDateSet[monthIndex];
}

function processDay(date) { // this is calculated for each day so we …
Run Code Online (Sandbox Code Playgroud)

javascript random date jquery-ui-datepicker

73
推荐指数
3
解决办法
7万
查看次数

html中的php变量没有别的办法:<?php echo $ var; ?>

我在混合HTML和PHP中工作很多,而且大多数时候我只想要带有一些PHP变量的可靠HTML,所以我的代码如下所示:

<tr><td> <input type="hidden" name="type" value="<?php echo $var; ?>" ></td></tr>
Run Code Online (Sandbox Code Playgroud)

这很难看.是不是有更短的东西,更像是以下?

<tr><td> <input type="hidden" name="type" value="$$var" ></td></tr>
Run Code Online (Sandbox Code Playgroud)

这是可能的,但你会陷入困境""(你必须全部替换它们'')并且布局消失了

echo "<tr><td> <input type="hidden" name="type" value="$var" ></td></tr>"
Run Code Online (Sandbox Code Playgroud)

有更好的吗?

html php variables

58
推荐指数
3
解决办法
23万
查看次数

我如何只是保存一个jsFiddle而不是一个新版本

在文档中:

按钮Save或Fork始终存在于UI中.如果没有装载小提琴,则首先出现,后者用于从现有小提琴中创建新的小提琴.

当小提琴是全新的,然后是RUN/update/fork时,我只看到SAVE.在MAC上的Fx4和Safari 5(和PC上的Fx 4)

在此输入图像描述

更新:新的BASE功能完全符合我的要求.

新版本

来自SO FAQ

Stack Overflow适用于专业和发烧友程序员,因为他们喜欢编写代码的人.我们认为最好的Stack Overflow问题中有一些源代码,但如果您的问题通常涵盖......

  • 一个特定的编程问题
  • 一种软件算法
  • 程序员常用的软件工具
  • 编程专业独有的事项

...那么你是在正确的地方提出你的问题!

jsfiddle

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

我的JS代码中的\ u200b(零宽度空格)字符.哪儿来的?

我正在使用NetBeans IDE 7.0.1开发Web应用程序的前端.最近我有一个非常讨厌的bug,我终于解决了.

说我有代码

var element = '<input size="3" id="foo" name="elements[foo][0]" />';
$('#bar').append(element);
Run Code Online (Sandbox Code Playgroud)

当我看到该size属性在Chrome中不起作用时(我没有在其他浏览器中检查过),我注意到出了问题.当我在Inspector中打开该元素时,它被解释为类似的东西

<input id="&quot;3&quot;" name="&quot;elements[foo][0]&quot;" 
    size="&quot;foo&quot;" />
Run Code Online (Sandbox Code Playgroud)

这很奇怪.手动重新键入element字符串字符后,错误消失了.当我撤消改变时,我注意到Netbeans在我的旧代码中提醒我一些Unicode字符.它是\u200b- 在每个'='之后,在'] ['之间和字符串末尾之间的零宽度空格.因此字符串看起来很正常,因为没有显示零宽度空格,但在转义它们之后我的字符串就是

'<input size=\u200b"3" id=\u200b"foo" name=\u200b"elements[foo]\u200b[0]" />\u200b'
Run Code Online (Sandbox Code Playgroud)

我到底在哪里得到它们?

我不知道我element从哪里复制了代码,但它绝对是以下之一:

  • Netbeans编辑器的其他窗格,带有HTML模板文件;
  • Google Chrome Inspector,"复制为HTML"操作;
  • Google Chrome源视图页面(非常值得怀疑).

但我无法用这两种方法重现这个错误.

我在Windows 7下使用Netbeans 7.0.1和Google Chrome 13.0.没有键盘切换器或类似的东西在运行.此外,我正在使用Git进行版本控制,但我没有提取该代码,因此Git不太可能受到责备.这对我的同事来说不是一个愚蠢的玩笑,因为他们非常有礼貌.

有什么建议搞砸了我的代码?

html javascript unicode netbeans google-chrome

43
推荐指数
3
解决办法
4万
查看次数

如何在选择框下拉列表中更改蓝色突出显示的颜色

如何更改此下拉列表中的蓝色突出显示?

链接到选择框演示

这是代码: -

select {
  border: 0;
  color: #EEE;
  background: transparent;
  font-size: 20px;
  font-weight: bold;
  padding: 2px 10px;
  width: 378px;
  *width: 350px;
  *background: #58B14C;
  -webkit-appearance: none;
}

#mainselection {
  overflow: hidden;
  width: 350px;
  -moz-border-radius: 9px 9px 9px 9px;
  -webkit-border-radius: 9px 9px 9px 9px;
  border-radius: 9px 9px 9px 9px;
  box-shadow: 1px 1px 11px #330033;
  background: url("http://www.danielneumann.com/wp-content/uploads/2011/01/arrow.gif") no-repeat scroll 319px 5px #58B14C;
}
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我想将高光颜色更改为灰色.

css

41
推荐指数
4
解决办法
23万
查看次数

BMP之外的JavaScript字符串

BMP是基本的多语言平面

根据JavaScript:好的部分:

JavaScript是在16位字符集的时候构建的,因此JavaScript中的所有字符都是16位宽.

这让我相信JavaScript使用UCS-2(不是UTF-16!)并且只能处理U + FFFF以前的字符.

进一步调查证实了这一点:

> String.fromCharCode(0x20001);
Run Code Online (Sandbox Code Playgroud)

fromCharCode返回Unicode字符时,该方法似乎只使用最低16位.试图获得U + 20001(CJK统一表意文字20001)而不是返回U + 0001.

问题:是否可以在JavaScript中处理后BMP字符?


2011-07-31:来自Unicode支持Shootout的 12个幻灯片:好的,坏的,以及(大部分)Ugly很好地解决了与此相关的问题:

javascript unicode utf-16 surrogate-pairs astral-plane

38
推荐指数
1
解决办法
1万
查看次数