草庐IT

javascript - 如何知道文本区域中当前可见的行/字符?

具有“实时预览”功能的在线编辑器:左侧有一个文本区域,右侧有一个预览div。每当文本区域更改时,预览都会更新。这适用于小文档;然而,对于非常长的文档,它会变得缓慢,因为预览中有很多不断重绘的DOM元素。最好只发送预览,即当前可见的文本区域部分(因为它是需要预览的部分)。有一种启发式方法可以获取文本区域的第一条可见行:确定文本区域的当前滚动偏移量:offset=scrollTop/scrollHeight(0文本区域中可见的第一行是:(总行数)x偏移量然而,这只适用于“短”行,即不换行的行。通常,文本区域中的“行”数不是换行符的数量;没有换行符的长行会换行并可能占用许多“行空间”。可以尝

javascript - 如何知道动态创建的脚本标签被执行了?

我正在动态创建脚本标签:varhead=document.getElementsByTagName('head')[0];varscript=document.createElement('script');script.type='text/javascript';script.charset='utf-8';script.defer=true;script.async=true;script.text='somemyjavascriptcontenthere';head.appendChild(script);script.onload=function(){//thisnever

javascript - 如何知道一个元素是否被渲染?

我的元素有transition:transform.5s然后它有一个单独的类:transform:translatex(-100%)所以我想要实现的是,最初,元素位于左侧。在窗口加载时,当元素被渲染时,我删除了转换类,浏览器将动画元素返回到它的正确位置。但实际发生的是,当页面变得可见/呈现时,元素已经在正确的位置。而且没有动画。我试过setTimeout(function(){},0);它不起作用。如果我将setTimeout设置为1秒,它会起作用,但有时渲染需要很长时间,我必须将setTimeout设置为2秒。但有时渲染速度很快,2秒是一个很长的等待时间。总的来说,我觉得这不是一种可

javascript - 如何知道哪个提交按钮触发了 onsubmit 事件

当表单中有多个提交按钮时,有没有一种方法可以知道哪个按钮触发了onsubmit事件,而无需向按钮本身添加代码?编辑:我需要在客户端进行检查,即使用JavaScript。 最佳答案 “提交”事件不是由按钮触发的,而是由“表单”触发的。一个快速测试证明了这一点:document.getElementById("myform").onsubmit=function(evt){varevent=evt||window.event;alert(event.target.id);//myformalert(event.explicitOrigi

javascript - 学习angularjs 1.3,知道angular 2将在1年后发布

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭7年前。Improvethisquestion我想学习angularjs1.3,但我在做出决定时遇到了一些问题,如果现在是时候这样做,因为当版本2发布时,angular将发生巨大变化。花时间和精力去学习一个我们知道它会改变的框架是值得的。人们对此有什么建议。能否请您推荐任何其他易于学习的框架?谢谢!

javascript - 如何知道何时在动态 "iterable"参数中解决所有 Promises?

我的问题是我不知道如何知道动态promise数组何时解决了所有promise。举个例子:varpromiseArray=[];promiseArray.push(newPromise(){/*blablabla*/});promiseArray.push(newPromise(){/*blablabla*/});Promise.all(promiseArray).then(function(){//Thiswillbeexecutenwhenthose2promisesaresolved.});promiseArray.push(newPromise(){/*blablabla*/})

javascript - 让 Visual Studio 2010 JavaScript IntelliSense 知道对象的类型

假设我有下面的javascript函数:function(msg){vardivForResult=document.getElementById("test");if(typeof(msg)=="object"){divForResult.innerHTML="Result:"+msg.Message+"";}else{divForResult.innerHTML="Result:"+msg+"";}}我知道如果msg变量是一个对象,它就是异常,所以我打印Message属性。如果不是,msg是一个字符串,我打印变量本身。我的问题是如何让VisualStudio2010JavaScri

javascript - Jquery,如何知道输入何时有 :invalid selector?

我有这个代码:HTMLCSSinput[type=text]:invalid{background-color:red;}Javascript$("[data-type=input-records]").die().live("keypress",function(e){if(!($(this).val().length+1)我想做这样的验证:if(!$(this).hasSelector(":invalid")){showMessage("Invalidvalue");} 最佳答案 使用is测试:invalid伪类的函数:if($

javascript - 从 LocalStorage 中检索所有数据(不知道键名)

我正在寻找一种从localStorage中获取所有信息的方法。我遇到的问题是我不知道数据是什么,因为它是用户生成的。所以这里发生了什么,用户输入了一些文本,它使用javascript根据他们在输入表单上勾选的复选框来操作它。这些框用于符号,例如,如果它们勾选@的框,则文本+@At(符号然后是单词)将被放置在本地存储中,另一半作为bool值(在本例中为1或0)表示是否被检查。确切的对应该是这样的:someString..@At|1someString..#Hash|0等等还应该注意的是,这是为了在Chrome扩展中使用,所以在其他浏览器中的兼容性对我来说不是必需的(尽管它对其他阅读本文的

javascript - 如何知道 ModelState 是否包含错误

在我的Controller中发布表单时,我会进行以下检查:if(ModelState.IsValid)如果模型无效,则会将错误添加到ModelState。然后将模型传递给带有验证摘要的View。但是,我想从jQueryready处理程序中检查ModelState是否有错误,这样我就可以在表单有错误时添加一些额外的行为。这可能吗? 最佳答案 你可以吐出全局javascript变量:varisValid=@Html.Raw(Json.Encode(ViewData.ModelState.IsValid));然后:$(function()