我刚刚开始使用JSF,看起来很棒,但我似乎无法弄清楚这最后的障碍.
我习惯了传统的Jquery AJAX功能,这在我的书中很完美.但我希望找到一种方法让它与JSF协调工作.
这是一个解释我的情况的场景.
我的网站上有一个消息页面,用户可以在其中发送消息.所以在我的xhtml页面中,我有一些看起来像这样的东西:
<h:form>
<h:inputTextarea id="newMessageContent" value="#{conversationBean.newMessage}"/>
<h:commandButton value="#{siteLang.messages_send}" action="#{conversationBean.sendMessage}">
<f:ajax render=":conversationMessages" execute="newMessageContent"/>
</h:commandButton>
</h:form>
Run Code Online (Sandbox Code Playgroud)
效果很好.用户可以发布他们的消息,并将其加载到上面的对话div中.但现在我需要添加一些功能. - 当用户单击时,应禁用按钮和textarea以避免交互,直到操作完成.并且应该出现一个加载器 - 当JSF完成它的东西时,textarea和按钮应该被启用并且加载器应该消失...并且焦点返回到textarea.
在Jquery我会做这样的事情:
$.ajax{
beforeSend: function (){
// Disable textarea and button, show loader
},
complete: function () {
// Do the inverse of above
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助!
像大多数人一样,我在我的网站上使用了一堆jquery插件.从Twitter bootstrap到jquery ui datepicker等等.
但我需要我的网站是多语言的,所以我创建了一个名为english.js的通用语言文件,在该文件中我想声明一些插件的默认值以及其他语言变量.
问题是所有这些插件都有不同的结构来声明默认值.我已经看到了几个问题(jquery - 设置插件默认值?,全局定义jQuery插件参数,jQuery插件默认值,......).但他们并不清楚.
结构1
$.fn.ajaxStatus = function (params)
{
var settings = $.extend(
{
defaultLoadingText :"Loading...",
defaultSavingText :"Saving...",
defaultDoneText :"Done",
defaultRedirectText:"Redirecting...",
defaultErrorText :"Oops! Our bad, something wrong.";
},$.fn.ajaxStatus.defaults,
params),
});
Run Code Online (Sandbox Code Playgroud)
结构2
jQuery.fn.extend({
shrinker:function (options) {
var opts = $.extend({
"moreText":"Read more",
"lessText":"hide",
}, $.fn.shrinker.defaults, options);
});
Run Code Online (Sandbox Code Playgroud)
问题
如果不修改插件,是否可以为每次使用插件时使用的函数分配一些默认值?如何在外部文件中定义语言默认值?
现在,我在我的语言文件中有这个,但感觉不对,这是你怎么做的?
if ($.fn.ajaxStatus !== undefined) {
$.fn.ajaxStatus.defaults =
{
defaultLoadingText :"Loading2...",
defaultSavingText :"Saving2...",
defaultDoneText :"Done2",
defaultRedirectText:"Redirecting2...",
defaultErrorText :"Oops! Our …Run Code Online (Sandbox Code Playgroud) 我想在我的网页上浏览内容.一些内容是文本,另一些是链接,...... 我需要一个可以通过它的功能.
找到了这个很棒的答案:如何使用JavaScript对文本进行动画制作动画? (第二个答案)但是我想将它转换成一个函数,以便我可以在任何地方使用它.
他原来的jsfiddle:http://jsfiddle.net/alexdickson/wmBYx/
这是他的JS:
var findText = function(element, pattern, callback) {
if ( ! element.childNodes) {
return;
}
for (var childi = element.childNodes.length; childi-- > 0;) {
var child = element.childNodes[childi];
if (child.nodeType == 1) {
findText(child, pattern, callback);
} else if (child.nodeType == 3) {
var matches = [];
var match;
while (match = pattern.exec(child.data))
matches.push(match);
for (var i = matches.length; i-- > 0;)
callback.call(window, child, matches[i]);
}
}
}
findText(document.body, /./g, …Run Code Online (Sandbox Code Playgroud) 我有一个变量名称,我将其传递给插件,但该变量实际上是一个函数.我使用jquery $ .isFunction来检查它是否是一个函数,如果是,它应该执行该函数.
但我似乎无法使它工作,我在jsfiddle中提供了一些例子:http://jsfiddle.net/tZ6U9/8/
但这是一个示例代码:
HTML
<a class="one" href="#">click</a><br />
<a class="two" href="#">click</a><br />
<a class="three" href="#">click</a><br />
Run Code Online (Sandbox Code Playgroud)
JS
$(document).ready(function() {
help = function(var1) {
alert(var1);
}
function help2(var1) {
alert(var1);
}
$('a.one').click(function() {
var functionName = "help";
if ($.isFunction([functionName])) {[functionName]("hello");
} else {
alert("not a function");
}
return false;
});
$('a.two').click(function() {
var functionName = "help";
if ($.isFunction(functionName)) {
functionName("hello");
} else {
alert("not a function");
}
return false;
});
$('a.three').click(function() {
var functionName = "help2"; …Run Code Online (Sandbox Code Playgroud) 我有一个dust.js模板文件,我传递了2个数组:
如何在dust.js的下拉列表中选择选项?
这是一个例子:
我发送给模板的数据
var selectOptions = [1,2,3,4,5,6,7,8,9,10,11,12,13];
var selectedValues = [3,7,9];
Run Code Online (Sandbox Code Playgroud)
模板
<select multiple>
{#selectOptions}
<option>{.}</option>
{/selectOptions}
</select>
Run Code Online (Sandbox Code Playgroud)
如何使用{selectedValues}选择这些选项?
在此先感谢您的帮助.
刚刚开始尝试为我的节点webkit应用程序创建一个菜单栏,我直接按照主人Roger Wang自己的说明...在这里:
https://github.com/rogerwang/node-webkit/wiki/Window-menu
这是代码:
var gui = require('nw.gui');
var mb = new gui.Menu({type:"menubar"});
mb.createMacBuiltin("your-app-name");
gui.Window.get().menu = mb;
Run Code Online (Sandbox Code Playgroud)
在Mac上工作得很漂亮,但却使PC应用无法运行.现在有什么想法可以解决吗?
提前致谢.
我正在使用材料UI做出反应.
我似乎无法在提交时重置表单而不会在控制台中出现错误.
如果我有: <TextField defaultValue={myComment.title} refs="title" />
在提交时,如果我这样做:this.refs.title.setValue('')我在控制台中收到以下错误
警告:不推荐使用setValue()方法.请改用defaultValue属性.或者使用TextField作为具有value属性的受控组件.
所以我试着这样做:this.refs.title.defaultValue = ''但那没用.
我想我必须做一个handleChange事件?但是当我想要做的就是清除输入字段时,设置它似乎非常痛苦.
在此先感谢您的帮助.
我有一个create-react-app应用程序,曾经jest用于测试,但我正在慢慢迁移到cypress.
问题是,现在当我运行jest测试时,它包含我的cypress测试并给出错误
ReferenceError: Cypress is not defined
Run Code Online (Sandbox Code Playgroud)
我怎样才能让我的jest(命名约定*.test.js)测试忽略我的cypress测试(通常称为*.spec.js)?
我正在迁移到将 Typescript 与 Cypress 一起使用,但在类型转换别名方面遇到问题。我期待着,string但是打字稿正在期待着JQuery<HTMLElement>。
例子:
cy.wrap("a string").as("myString")
cy.get("@myString").then( myString => {
console.log(typeof myString) // => "string"
})
Run Code Online (Sandbox Code Playgroud)
我检查了打字稿定义cy.get并发现:
get<E extends Node = HTMLElement>(selector: string, options?: Partial<Loggable & Timeoutable & Withinable & Shadow>): Chainable<JQuery<E>>
// AND
get<E extends Node = HTMLElement>(selector: string, options?: Partial<Loggable & Timeoutable & Withinable & Shadow>): Chainable<JQuery<E>>
Run Code Online (Sandbox Code Playgroud)
目前,我收到以下错误:
Argument of type '(myString: string) => string' is not assignable to parameter of type '(this: ObjectLike, currentSubject: JQuery<HTMLElement>) => void'.
Types of …Run Code Online (Sandbox Code Playgroud) 我刚刚使用Xcode 7(App store版本)将我的项目从Swift 1.2迁移到Swift 2.我正在使用Realm进行本地存储并相应地更新了库.
但只要在我的代码中,我就这样做了:
let realm = Realm()
Run Code Online (Sandbox Code Playgroud)
我得到一个Xcode错误:
Call can throw, but is not marked with try and the error is not handled
Run Code Online (Sandbox Code Playgroud)
任何想法我应该做什么?
javascript ×5
jquery ×4
cypress ×2
ajax ×1
dust.js ×1
jestjs ×1
jsf ×1
jsf-2 ×1
material ×1
material-ui ×1
node-webkit ×1
reactjs ×1
realm ×1
swift ×1
typescript ×1
webkit ×1
xcode ×1