I've heard that taking direct limits is an exact functor in the category of modules, and I'm trying to figure out why, as I couldn't find a proof.

Suppose you have homomorphisms $\varphi_i: K_i\to N_i$ and $\psi_i: N_i\to M_i$ for $(K_i,h^i_j)$, $(N_i,g^i_j)$, and $(M_i,f^i_j)$ directed systems of modules such that $0\to K_i\to N_i\to M_i\to 0$ is exact for every $i$. 


  Why is $0\to\varinjlim K_i\to\varinjlim N_i\to\varinjlim M_i\to 0$ also exact?




So I let $\varphi:\varinjlim K_i\to\varinjlim N_i$ and $\psi:\varinjlim N_i\to\varinjlim M_i$ be the natural homomorphisms. Take $x\in\ker\psi$. Then $x=g^i(x_i)$ for some $x_i\in N_i$. Then $0=\psi(g^i(x_i))=f^i(g^i(x_i))$. I know there exists some $j\geq i$ such that $f^i_j(g^i(x_i))=0$ in $M_j$. But $f^i_j\circ\psi_i=\psi_j\circ g^i_j$, so $g^i_j(x_i)\in\ker\psi_j=\text{im}(\varphi_j)$. Then $g^i_j(x_i)=\varphi_j(y_j)$ for some $y_j\in K_j$, so
$$
x=g^i(x_i)=g^j(g^i_j(x_i))=g^j(\varphi_j(y_j))=\varphi(h^j(y_j))
$$
and so $\ker\psi\subseteq\text{im}\varphi$. 

Conversely, suppose $x\in\text{im}\varphi$. Then $x=\varphi(y)$ for some $y=h^i(y_i)$ and $y_i\in K_i$. So $x=\varphi(h^i(y_i))=g^i(\varphi_i(y_i))$. Thus 
$$
\psi(x)=\psi(g^i(\varphi_i(y_i)))=f^i(\psi_i(\varphi_i(y_i)))=0
$$
since $\psi_i\circ\varphi=0$. Then $\ker\psi=\text{im}\varphi$. (Please let me know if I've written nonsense, too many maps can cause me to get lost!) 

What is bugging me is, is $\varphi$ injective and $\psi$ surjective to see that the short exact sequence is in fact exact? Is there some obvious fact I'm missing? If possible, is there an explanation in the same vein as the above (i.e. using the maps and manipulating the elements without relying on more general facts from category theory? I'm not too knowledgeable about the latter.) Thanks.


Question: Javascript pass onclick on child to parent
Answer: You can listen for a click in the inner div and fire the click on the outer div.



$("#drop-zone-600").click(function (e) {
 alert("hey");   
});


$("#dzw").click(function (e) {
    $("#drop-zone-600").onclick();
});
.upload-drop-zone {
    width: 200px;
    height: 200px;
    border: 1px solid red;
    background: darkred;
}

.dropzone-width {
    width: 100px;
    height: 100px;
    border: 1px solid green;
    background: lightgreen;
}
&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;
&lt;div class="upload-drop-zone dz-clickable" id="drop-zone-600"&gt;               
    &lt;div id ="dzw" class="dropzone-width"&gt;600 PX&lt;/div&gt;
&lt;/div&gt;




Despite the fact that the alert function is inside the click event listener of the #drop-zone-600 div, you can see the alert by clicking any of the divs.