JS 当html改变时触发事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 当html改变时触发事件相关的知识,希望对你有一定的参考价值。

html有改变时 (如document.write), 有回调没?

目的就是要每当有html的文本被改变时, 就调用我的自定义函数, 可以用HTML+JS.

求助!!!
追问字数不够了, 补充在这里~
我现在的办法是这样的:
由于我用的是jquery, 改变网页大部分都是通过ajax来的.
于是通过ajaxSuccess注册回调来实现调用我的自定义函数的.
不过这样缺点也比较大, 因为只能监听到通过jquery改变的内容.

你的问题描述得不是多清楚,如果你是要达到某个文本改变事触发一个事件,我可以给你举一个例子,
如下:
<html>
<head>
<script type="text/javascript">
function f(x)//这里传进来的参数就是input那个元素
var s=x.value;//把我输入到input标签的值保存到对象s里
document.getElementById("mydiv").innerHTML=s;//动态改变div里边的内容

</script>
</head>
<body>
<input type="text" id="myinput" onkeyup="f(this)" value=""/>
<div id="mydiv"></div>
</body>
</html>
以上的小例子希望能帮到你,另外你说到ajax来异步刷新界面这个问题,由于我不知道你后台用的什么语言,所以暂时帮不了你,如果你用的java语言,我到时可以帮助到你,可以动态的从后台那获取数据,达到局部更新页面的效果。
参考技术A ...你既然能改变html.为什么不在改变的时候调用js函数呢..
这里是这样的.html改变只有两种情况一种是通过JS改变.还有一种就是重新加载页面.也就是说你可以在js控制html改变的函数里调用你的函数,后一种的话就直接写在body.onload事件里去触发.追问

如果在每个可能改变的html的函数里面手动调用自定义函数的话, 一个是工程量比较大, 其次是结构不良, 以后程序结构稍有变化都又要改一堆东西, 所以才想直接监听document.write的, 这样不需要的时候不监听就行了, 不会影响太多..

追答

..我的意思是....不太懂你的需求..
如果真的一定监听的话.你可以把dom遍历,一定时间比对一次..
js的时间只能由交互触发...

追问

....晕, 这样肯定不好啦~~

先将就着吧...用ajaxSuccess局限性太大了, 都不敢用document.write和其他的js库了...
继续求助!!!

js 常用事件句柄总结

 

HTML 4.0 的新特性之一是有能力使 HTML 事件触发浏览器中的动作(action),比如当用户点击某个 HTML 元素时启动一段 JavaScript。下面是一个属性列表,这些属性可插入 HTML 标签来定义事件动作。

属性当以下情况发生时,出现此事件FFNIE
onabort 图像加载被中断 1 3 4
onblur 元素失去焦点 1 2 3
onchange 用户改变域的内容 1 2 3
onclick 鼠标点击某个对象 1 2 3
ondblclick 鼠标双击某个对象 1 4 4
onerror 当加载文档或图像时发生某个错误 1 3 4
onfocus 元素获得焦点 1 2 3
onkeydown 某个键盘的键被按下 1 4 3
onkeypress 某个键盘的键被按下或按住 1 4 3
onkeyup 某个键盘的键被松开 1 4 3
onload 某个页面或图像被完成加载 1 2 3
onmousedown 某个鼠标按键被按下 1 4 4
onmousemove 鼠标被移动 1 6 3
onmouseout 鼠标从某元素移开 1 4 4
onmouseover 鼠标被移到某元素之上 1 2 3
onmouseup 某个鼠标按键被松开 1 4 4
onreset 重置按钮被点击 1 3 4
onresize 窗口或框架被调整尺寸 1 4 4
onselect 文本被选定 1 2 3
onsubmit 提交按钮被点击 1 2 3
onunload 用户退出页面 1 2 3

以上是关于JS 当html改变时触发事件的主要内容,如果未能解决你的问题,请参考以下文章

如何用JS获取鼠标滚动高度,再触发相应的事件。速救!!!

html文本框改变Vlaue时触发的事件

input中的内容改变时触发的事件

Js的事件

当span标签内容改变时如何触发一个函数

input 内容改变的触发事件