小编fre*_*ent的帖子

IE9是否支持CSS3 ::之前和::之后的伪元素?

此MS兼容性表,它说,IE9不支持伪元素::before::after,但是当我尝试它似乎它......看到JSBin

难道我做错了什么?我认为::before并且::after是隐藏IE9内容的好工具,事实上,他们没有.

css css-selectors css3 pseudo-element internet-explorer-9

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

如何在通过Ajax引入的元素上使用Jquery document.on()?

我有一个Jquery Mobile shell页面,我正在使用Ajax加载表单.表单有一些复选框,我需要绑定到它.

奇怪的是,我可以让它直接在按钮上设置监听器,如下所示:

$('input[name="ohneiln"]').on('change', function() {
   alert("hello");
   });
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将侦听器设置为$(document)并委托给checkbox侦听器时,侦听器永远不会触发:

$(document).on('change', 'input[name="ohneiln"]', function() {
   alert("hello");
});
Run Code Online (Sandbox Code Playgroud)

问题:
为通过Ajax加载的"动态"元素设置事件绑定的正确方法是什么$(document).on()?这对change事件不可能或为什么我遇到麻烦?

感谢帮助!

jquery jquery-mobile

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

为什么CSS背景大小:封面在iOS上无法在纵向模式下工作?

我正试图在splash-image各种设备上进行手动设置.我这样做是通过检查orientation(触摸设备)或screen width vs. screen height(无触摸)并相应地设置URL.

然后我通过Javascript添加这个CSS规则:

 document.styleSheets[3].insertRule('.initHandler:before { 
    background: url('+x+') no-repeat center center fixed; 
    -webkit-background-size: cover; 
    -moz-background-size: cover; 
    -o-background-size: cover; 
    background-size: cover; 
    }', 0)
Run Code Online (Sandbox Code Playgroud)

随着x作为图像取决于方向和屏幕尺寸被加载.

我的问题是这在landscape模式下工作正常,但在我的iPad portrait模式下,加载了正确的图像(根据肖像/风景不同),但它没有扩展到全屏大小.

问题:
我不能background-size在纵横模式下在iOS上使用CSS 吗?

感谢帮助!

编辑:
刚试过我的Android智能手机.那里工作得很好.没有任何意义,为什么它不适用于iPad.

css background portrait ios

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

jquery - 如何在widget-factory插件中调用带参数的函数?

我想在我的jquery-plugin(基于widget-factory)中调用一个函数.

看起来像这样:

(function( $, window) {
    $.widget("mobile.multiview",$.mobile.widget, {
        stackUp: function (source, event, data) {
             ...
        }
    }
}) (jQuery,this);
Run Code Online (Sandbox Code Playgroud)

我想从插件外部调用stackUp.问题:我不知道如何正确传递参数.这不起作用:

$('#trigger').multiview("stackUp('pagination', fakeEvent, fakeData)");
Run Code Online (Sandbox Code Playgroud)

有人能指出我在插件中调用公共函数并传递参数的正确语法吗?

更新:

我可以像这样调用函数:

$('#trigger').multiview('stackUp');
Run Code Online (Sandbox Code Playgroud)

但是我怎样才能传递参数?

parameters jquery jquery-plugins

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

如何缩短jquery语法if-else语句?

我使用了很多这些:

$text = $menu.jqmData('menu-text') ? 
           $menu.jqmData('menu-text') : self.options.menuTxt;
Run Code Online (Sandbox Code Playgroud)

它已经是"速记"语法,但我想知道,是否有可能进一步减少上述行.必须有一个更好的方法,而不是检查$ menu.jqmData('menu-text')然后再写一遍.不存在吗?

感谢帮助!

javascript jquery jquery-mobile

11
推荐指数
1
解决办法
543
查看次数

如何在IE8中触发自定义javascript事件?

我试图在IE8上发起一个自定义事件,并从这里这里一起摆弄一个解决方案.但我不能让它工作......

我正在使用带有requireJS和谷歌分析的jquery mobile.所以我正在跟踪JQM pageshow事件.但是由于requireJS加载脚本async,我对pageshow的绑定需要在javascript"包装器"中进行,否则会产生错误,因为在解析代码片段时,jquery和jquery mobile都不会被加载.

所以我在每个页面的末尾都包含这个:

if (document.addEventListener) {
    document.addEventListener("jqmReady",function(){trigAnalytics("jqmReady");alert("FF detected")},false); 
} else if ( document.attachEvent ) {
    document.attachEvent("jqmReady", function(){trigAnalytics("jqmReady");alert("IE detected")}); 
}
Run Code Online (Sandbox Code Playgroud)

检测到后,我正在使用pageshow绑定触发我的分析代码段:

var trigAnalytics = function( trigger ){ 
    $(document).on('pageshow','div:jqmData(role="page").basePage', function (event, ui) {
        var url = location.href; 
        try { 
            hash = location.hash; 
            if (hash && hash.length > 1) {
                 _gaq.push(['_trackPageview', hash.substr(1)]);
                 _gaq.push(['_setCustomVar', 1, 'id_external', ########, 1 ]);
            } else {
                _gaq.push(['_trackPageview', url]);
                _gaq.push(['_setCustomVar', 1, 'id_external', ########, , 1 ]);
                _gaq.push(['b._trackPageview', url]);
            } 
        } catch(err) …
Run Code Online (Sandbox Code Playgroud)

javascript jquery internet-explorer jquery-mobile requirejs

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

如何覆盖由jquery/javascript设置的css高度?

我有这个:

 var setHeight = $(this).outerHeight(); 
 // returns e.g. 687

 $("#someElement").css({'height': $setHeight+"px !important" });
 // I want to override this jquery-set height
Run Code Online (Sandbox Code Playgroud)

我不确定这是正确的方法......可能不是,因为它不起作用.

谢谢你的帮助!

javascript css jquery height

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

是否可以将元素附加到JavaScript nodeList?

我正在动态生成内容,所以我经常最终会documentFragments查询我在documentFragment中使用querySelectorAllquerySelector返回nodeList的元素.

我不时会在列表中添加一个项目,但我无法在网上找到关于这是否可行的任何内容.

我试过这样的:

 document.querySelectorAll(".translate").item(length+1) = document.createElement("div");
Run Code Online (Sandbox Code Playgroud)

还有这个:

 document.querySelectorAll(".translate").shift(document.createElement("div"));
Run Code Online (Sandbox Code Playgroud)

但两者都不起作用(如预期的那样)

问题:
是否可以手动将元素添加到NodeList?我猜,不过还是要问.

感谢您的一些见解?

编辑:
更多信息:我正在生成一个动态内容块,我想附加到我的页面.默认情况下,该块为英文.由于用户正在用中文查看页面,我正在动态片段上运行翻译器,然后将其附加到DOM.在我的页面上,我还有一个元素,比如一个标题,它应该根据添加的动态内容而改变.我的想法是一步到位=尝试添加一个元素到我的nodeList.但是现在写它...我想不可能:-)

javascript arrays append nodelist

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

为什么JSLint推荐x ==="undefined"与typeof x =="undefined"?

我和JSLint混淆了.

我的代码最初检查是否div:jqmData("me")未定义如下:

if ( typeof el.jqmData("me") == "undefined"  
   ? el.not(':jqmData(panel="main")').length > 0 
    : el.not(':jqmData(me="first")').length > 0 ){

}
Run Code Online (Sandbox Code Playgroud)

JSLint抱怨我应该用typeofwith 替换check ===,所以我喜欢这样:

if ( el.jqmData("me") === "undefined"  
   ? el.not(':jqmData(panel="main")').length > 0 
     : el.not(':jqmData(me="first")').length > 0 ){

}
Run Code Online (Sandbox Code Playgroud)

JSLint不再抱怨了,但我的嵌套if语句被破坏了,因为el.not(':jqmData(me="first")').length即使我不应该,我现在总是以第二个结束.

:
为什么JSLint的建议===typeof == undefined?怎么会打破我的逻辑呢?

谢谢你的一些启发......

javascript jquery typeof jslint undefined

9
推荐指数
1
解决办法
4624
查看次数

如何在加载文件后将promise错误传播到更高的承诺级别?

我正在使用bluebird处理异步脚本加载器,我正在努力将错误传递到我可以捕获它的位置.

加载文件时,我正在调用我的方法,declare如下所示:

  declare("storage", [
    {"name": 'util', "src": '../src/util.js'}
  ], function (util) {
    var storage = {};
    //...stuff with util
    return storage;
  });
Run Code Online (Sandbox Code Playgroud)

随着declare:

declare = function (name, dependency_list, callback) {
   var resolver;

   // digest promises returned for each module
   function digestDependencyArray(my_dependency_array) {
     var i, len, response_array;

     len = my_dependency_array.length;
     for (i = 0, response_array = []; i < len; i += 1) {
       response_array[i] = my_dependency_array[i];
     }

     return Promise.all(response_array);
   }

   // resolve request promise …
Run Code Online (Sandbox Code Playgroud)

javascript error-handling asynchronous promise bluebird

9
推荐指数
1
解决办法
8843
查看次数