我试图$('div').data()
通过JSON 填充.它工作正常,JQuery.parseJSON
但没有$.getJSON
.
// works as expected
$('div').data('dat', { xmin: '-10', xmax: 40 });
$('div').data('dat', jQuery.parseJSON('{"bbx" : {"xmin" : "-10", "xmax" : "40"}}'));
// doesnt work
$('div').data('dat', $.getJSON("init.php", function(json) {return(json);}));
Run Code Online (Sandbox Code Playgroud) 有人可以解释为什么第二个函数不会给我们带来堆栈溢出吗?
//stack overflow on call
function test1() {
test1();
}
//no stack overflow, nor beer
function test2() {
setTimeout(test2, -500); //back to the future
}
Run Code Online (Sandbox Code Playgroud) 我正在我的jqm页面上将一个外部页面加载到div中,为了使用jQuery移动样式增强它我在div上调用trigge('pagecreate'),这可以从控制台进行.
$('#search-results-page').load('searchResults.php',{options:$.encodeJSON(data.options),search:$.encodeJSON(data.search)},function () {
$(this).trigger('pagecreate',{options:{}});
$.mobile.changePage('#search-results-page');
});
Run Code Online (Sandbox Code Playgroud)
如果我把我的代码放在try catch块中,但是如果我没有,那么我会收到此错误:
未捕获的TypeError:无法读取未定义的属性'options'jquery.mobile-1.3.1.js:7535
我看到了这个关于设置选择颜色的好文章:
在 JavaScript 中设置文本选择颜色http://blogs.adobe.com/cantrell/archives/2012/02/setting-text-selection-colors-in-javascript.html
由于可以设置颜色我想有一些方法来GET它。我就是找不到。;-)
有人知道如何获得选择颜色吗?
在某些情况下,我需要以编程方式将POST参数添加到AJAX请求中.
我正在尝试这样的事情:
$(document).ajaxSend(function(event, jqXHR, ajaxOptions) {
ajaxOptions.data = "additional_key=additional_value&" + ajaxOptions.data;
ajaxOptions.context.data = "additional_key=additional_value&" + ajaxOptions.context.data;
console.log(ajaxOptions, 'ajaxOptions');
});
Run Code Online (Sandbox Code Playgroud)
但additional_key不会出现在$ _POST数组中.
我试图阻止双击表单按钮,禁用该元素几秒钟.
<form action="#" method="POST">
<input type="text" />
<input type="password" />
<button class="myButton" type="submit">Send</button>
</form>
var that = this;
this.element = $(".myButton");
this.element.click(function(e) {
this.element.prop("disabled", true);
window.setTimeout(function() {
that.element.prop("disabled", false);
}, 2000);
});
Run Code Online (Sandbox Code Playgroud)
它成功启用/禁用,但.click()
功能的使用阻止(自动?O_o)事件的传播,并且页面不遵循表单动作属性中的链接.
注意我正在尝试将行为添加到以前完美运行的表单按钮(POST到 aciton链接).此外,启用/禁用工作也很完美(无论我在上述代码的调整中可能出现的最终错误).
PS - 任何解决方案必须是跨浏览器并与IE8兼容.
我正在尝试找到一种简单的解决方案,以便在移动设备上折叠时从折叠菜单中提议内容的滚动。我的意思是,当菜单打开时,我想先提出折叠菜单的滚动条,而不是正文。
CSS对此有任何提示吗?还是只有JS脚本?
这是我的链接(请在移动视图中检查)
我的HTML代码:
<a role="button" data-toggle="collapse" data-target="#NavbarCollapse" class="nav-link navbar-toggler hidden-md-up"><span class="icon-menu"></span></a>
<div class="row">
<div class="collapse navbar-toggleable-sm hidden-md-up col-xs-12" id="NavbarCollapse">
<ul class="nav navbar-nav text-center">
<li class="nav-item active col-xs-12"><a href="#">Tableau de bord</a></li>
<li class="nav-item col-xs-12"><a href="#">Mon agenda</a></li>
<li class="nav-item col-xs-12"><a href="#">Messagerie<span class="label label-primary label-pill">17</span></a></li>
<li class="nav-item col-xs-12"><a href="#">Mes patients</a></li>
<li class="nav-item col-xs-12"><a href="#">Activité</a></li>
<li class="nav-item col-xs-12"><a href="#">Mon cabinet virtuel</a></li>
<li class="nav-item col-xs-12"><a href="#">Informations administratives</a></li>
<li class="nav-item col-xs-12"><a href="#">Informations bancaires</a></li>
<li class="nav-item col-xs-12"><a href="#">Informations profil</a></li>
<li class="nav-item col-xs-12"><a href="#">Aide</a></li>
<li class="nav-item …
Run Code Online (Sandbox Code Playgroud) 我试图围绕一个数字100.
例:
1340 should become 1400
1301 should become 1400
Run Code Online (Sandbox Code Playgroud)
和
298 should become 300
200 should stay 200
Run Code Online (Sandbox Code Playgroud)
我知道Math.round
但它没有圆到100.
我怎样才能做到这一点 ?
我有一小部分代码可以创建无尽的旋转木马.当它以像素完成时,它工作正常:
$('.left').click(function(){
$('.box').animate({left: '+=100'}, 100, function(){
var $last = $('.box').last();
if ($last.css('left') == '100px') {
$last.prependTo('.container').before('\n\r');
$('.box').css('left','0px');
}
});
});
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/tmyie/4CuLE/1/
但是,如果我从像素更改为百分比,它并没有工作且if statement
是假的.
$('.left').click(function(){
$('.box').animate({left: '+=5%'}, 200, function(){
var $last = $('.box').last();
if ($last.css('left') == '5%') {
$last.prependTo('.container').before('\n\r').hide().fadeIn();
$('.box').css('left','0%');
}
});
});
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/tmyie/4CuLE/2/
谁会知道为什么会这样?我正在使用响应式布局,所以我需要保持百分比.
我使用以下内容来使用占位符访问特定的DOM元素 "Serial"
$('input[placeholder=Serial]')
Run Code Online (Sandbox Code Playgroud)
它工作正常.当我尝试使用以下方法访问它们时,我有一些其他DOM元素具有占位符"@SAL"
:
$('input[placeholder=@SAL]')
Run Code Online (Sandbox Code Playgroud)
它抛出了这个错误
错误:语法错误,无法识别的表达式:input [placeholder = @ SAL]
但是,当我试图访问相同的使用双引号 "
围绕@SAL
它的工作罚款.
现在的问题是,为什么$('input[name=Serial]')
工作正常,即没有围绕占位符值的双引号但$('input[placeholder=@SAL]')
抛出上述错误?
PS我知道根据它们的占位符访问DOM元素是一个坏主意(因为它们可能会改变),但我很好奇为什么它不能在这个特定的情况下工作...