小编dev*_*s11的帖子

$('html').click()...除了一个元素以外的任何地方

我有一个动态附加的菜单,如果你点击页面上的任何地方,包括菜单链接本身,我将删除.我想要实现的是如果你点击一个特定的链接阻止删除,这对我来说根本不起作用.不幸的是我无法使用委托方法,如果这会有所帮助,由于客户端使用的jquery上的旧版本,没有更新它的选项.

所以也许你可以建议是否有任何办法这样做.这是我的一个简单例子.

<script>
            $(function() {

                $('.menu').append('<a href="" class="solid">Option</a> <a href="">Option</a> <a href="">Option</a>');                               

                $('.menu a').live('click',function(){
                    return false;
                });

                $('a.solid').live('click',function(){
                    return false;
                });

                $('html').click(function() {                    
                    $('.menu').remove();                
                });             

            });

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

和容器

<div class="menu"></div>
Run Code Online (Sandbox Code Playgroud)

html javascript jquery click

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

正则表达式删除非字母字符但保留重音字母

我有西班牙语和其他语言的字符串,可能包含通用的特殊字符,如(),*等.我需要删除.但问题是它也可能包含特殊的语言字符,如ñ,á,ó,í等,它们需要保留.所以我试图通过以下方式使用regexp:

var desired = stringToReplace.replace(/[^\w\s]/gi, '');
Run Code Online (Sandbox Code Playgroud)

不幸的是,它删除了所有特殊字符,包括相关语言.不知道如何避免这种情况.也许有人会建议?

javascript regex string diacritics

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

如何预防,停止或终止Javascript功能?

如何阻止此Javascript函数执行.

我有一个导致严重问题的js函数,我无法删除或修改它的源代码.我想知道是否可以简单地阻止,停止或终止该功能,以便在我解决问题之前不执行该功能.

所以在页面内的某个地方:

<script type="text/javascript"><!--
problem_func();
//--></script>
Run Code Online (Sandbox Code Playgroud)

而我想要的是停止执行该功能,在头部或外部js内放置一个塞子.

有什么建议?

这是现场的例子,如何停止?http://jsbin.com/uxalag/3

javascript dom javascript-events

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

array_push在函数PHP中不起作用

我有这种情况,当我在函数内部有array_push然后我需要在foreach中运行它来填充新数组.不幸的是,我不明白为什么这不起作用.这是代码:

<?php

$mylist = array('house', 'apple', 'key', 'car');
$mailarray = array();

foreach ($mylist as $key) {
    online($key, $mailarray);
}

function online($thekey, $mailarray) {

    array_push($mailarray,$thekey);

}

print_r($mailarray);

?>
Run Code Online (Sandbox Code Playgroud)

这是一个示例函数,它具有更多功能,这就是我需要保持这个想法的原因.

谢谢.

php arrays foreach array-push

8
推荐指数
2
解决办法
7901
查看次数

jQuery .load()如何防止双击加倍

我使用jQuery load()函数将一些页面加载到容器中.这是代码:

$('div.next a').live('click',function() {

    $('.content').load('page/3/ #info','',function(){
        //do something
    });

return false;

});
Run Code Online (Sandbox Code Playgroud)

一切正常,但问题是当我快速双击div.next链接时,从控制台我看到它加载页面两次因为我快速双击.我甚至可以点击3次,它会加载3次并在控制台中显示如下:

GET http://site/page/3/     200     OK  270ms   
GET http://site/page/3/     200     OK  260ms
Run Code Online (Sandbox Code Playgroud)

我的问题是如何防止这种双击,并且无论点击多少次都不要再加载目标页面一次.

谢谢.

javascript jquery load onclick

5
推荐指数
1
解决办法
5046
查看次数

使用数组、对象文字或 JSON 的 javascript 性能更好?

我陷入困境,因为我需要选择性能最佳的选项。

我现在拥有的是一个简单的数组,例如:

var array = [
   '/index1.html',
   '/index2.html',
   '/index3.html'
];
Run Code Online (Sandbox Code Playgroud)

该数组仅包含大约 60 个选项,但由于我需要按语言分隔,所以我正在考虑其他选项,例如对象文字或 JSON 格式,因此它将包含所有语言和大约 1000 个选项。

var obj = {
            'en' : {
                'title' : 'bla',
                'url':'bla bla bla'                 
            },
            'de' : {
                'title' : 'bla',
                'url':'bla bla bla'                 
            },          
        };
Run Code Online (Sandbox Code Playgroud)

问题是你认为什么最适合这个?谢谢。

javascript jquery json object-literal

5
推荐指数
1
解决办法
5125
查看次数

带有选项的Javascript对象功能

我正在尝试使用选项创建一个函数.我相信我必须使用对象,但到目前为止失败.通过选项我的意思是这样的:

insertButton({
    settings:{
        value1:'Some text'      
    }
});

function insertButton(settings){
    settings = new Object();    
    document.write(settings.value1);
}
Run Code Online (Sandbox Code Playgroud)

显然,这不会工作,但我试图表明我的意思.也许有人可以帮忙.

我问,因为现在我有简单的功能,我可以通过严格的顺序传递值.对于选项,我希望在函数中不变为变量顺序.例如:

function insertButton2(value1,value2,value3){
    document.write(value1);
    document.write(value2);
    document.write(value3);   
}

insertButton2('a','','c');  //empty commas to skip value2 
Run Code Online (Sandbox Code Playgroud)

留空逗号以确保'c'为value3对我来说不方便.这就是为什么我想尝试对象,选项.

谢谢.

javascript function object options literals

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

Chrome使用javascript检测为Safari

我正在寻找一种用JavaScript检测Safari的方法.我知道它已被覆盖很多次了,但可能有些东西被改变了,它不再起作用了.至少在我的情况下.

这是我做的:

<script>

    if(!isSafari()){
      alert('not Safari');
    } else {
      alert('I am Safari');
    }


    function isSafari(){    
      var is_safari = navigator.userAgent.indexOf("Safari") > -1;
      if(is_safari){
        return true;
      }
    }
  </script>
Run Code Online (Sandbox Code Playgroud)

jsbin:http://jsbin.com/ewerof/1

如果您在Safari和Chrome中运行此代码,您将获得相同的警报"我是Safari"那么如何实际检测Safari?我的Safari版本是4.0.3以防万一.

javascript safari google-chrome browser-detection

4
推荐指数
1
解决办法
6774
查看次数

如何在preg_replace php中进行数学运算

我有以下字符串

$str = ".block_1 {width:100px;}.block_2 {width:200px;}.block_3 {width:300px;}";
Run Code Online (Sandbox Code Playgroud)

我想根据此公式(pixelvalue/960)*100将百分比值替换为px值

我知道有了这样的正则表达式([0-9] + px)我可以找到所有值+ px然后我需要再次运行它用(pixelvalue/960)*100替换它.'%'

希望你明白我的意思,谢谢你的帮助.

好的,这是解决方案:

$str = preg_replace_callback(
        '([0-9]+px)',
        function ($matches) {            
            return ((str_replace('px','',$matches[0])/960)*100).'%';
        },
        $str
    );
    echo $str;
Run Code Online (Sandbox Code Playgroud)

html php regex preg-replace preg-match

4
推荐指数
1
解决办法
1322
查看次数

jQuery移动特定选项顶部选择顶部(下拉)

我基本上试图从select中选择一个特定的选项并将其移动到列表的顶部.我现在要做的就是这个.

$("select[name=list]").find('option[value="car"]').insertBefore($("select[name=list]").find('option:eq(1)'));
Run Code Online (Sandbox Code Playgroud)

由于某种原因,它执行两次,在顶部留下两个选项

<option value="car">Car</option>
<option value="car">Car</option>
Run Code Online (Sandbox Code Playgroud)

不知道我做错了什么,也许有人知道?

谢谢.

html javascript jquery

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